初版作成 1990.1.31
最終更新 2024.04.01
^h バックスペース ^a コマンドの先頭 ^k カーソル以降を削除 ^c プロセスの中断 ^s 表示の一時停止 ^q 表示の再開 ^d 入力の終了 セッションの終了
マニュアルを表示する。 $ man ls ls のヘルプを表示する SPC 次のページ b 前のページ h ヘルプ q 終了
pwd カレントディレクトリの表示 cd dir-name ディレクトリの変更 mkdir dir-name ディレクトリの作成 rmdir dir-name ディレクトリの削除 mv aa bb ファイル名・ディレクトリ名の変更 rm aa ファイルの削除 cat fname ファイルの内容を表示する ls ディレクトリの内容を表示する cp aa bb ファイル aa をコピーして bb にする。
コマンドラインで何か打ったときは、メタキャラクタを展開してから コマンドに送る。例えば ls -l a* と打つと、 a* がカレントディレクトリの中の a で始まるファイル名に 置き換えられて ls コマンドに送られる。 例えば、aa abb accc というファイルがカレントディレクトリに存在 した場合、 $ ls -l a* -----> $ ls -l aa abb accc となって、2 つの引数を ls コマンドに送る。 * 0 個以上の文字列 ? 1 個の文字
unix には 3 つの入出力がある。 入口1つ ---- 標準入力 出口2つ ---- 標準出力 標準エラー出力 例)$ ls > dir.txt 例)$ cc sample.c 2> err.log 標準エラー出力のリダイレクト あるコマンドの出力を次のコマンドの入力として送る。 例)$ ps aux | grep httpd
env 全ての環境変数の内容を表示する
echo $PATH 環境変数 PATH の内容を表示する
環境変数の設定方法
例) $ export PATH=$PATH:~/bin
$PATH : 現在の PATH 変数の内容
: が区切り文字
これだけは設定しておきたい環境変数
PATH 実行型ファイルを実行するとき、そのファイルを検索するディレクトリ
CDPATH cd コマンドでディレクトリを変更するとき、普通は今から行きたい
ディレクトリの親ディレクトリまたは子ディレクトリからしか行けないが、
この変数にディレクトリを設定しておけば、その下のディレクトリも検索する。
alias 定義されている別名のリストを表示 alias rm='rm -i' 別名を定義
実行するコマンドをファイルの中に書いておき、
$ file-name
と打つことでそのファイルの内容を実行する。
シェルスクリプトファイルは以下の 2 つが必要。
1. 実行可能属性を付けておく。
$ chmod 755 fname
$ chmod u+x fname
ファイルの属性を見るには $ ls -l ↓ と打てば良い。
2. 1 行めは以下のとおり
#!/bin/sh
--------
1 行めはそのファイルを実行するコマンドを示す。
シェルスクリプトは /bin/sh である。
pytyon スクリプトなら /usr/bin/python
perl スクリプトなら /usr/bin/perl
ruby スクリプトなら /usr/bin/ruby
である。
例えば、co という名前のシェルスクリプトを作り、
$ co abc
と打てば、abc.c というファイルをコンパイルして実行する。
シェルスクリプト co の内容は以下の通り。
----------------------------------------
#!/bin/sh
#
# ここはコメント 行頭が # はコメントを表す
#
cc -o $1 $1.c n 個めの引数は $n 表す
$1 $1 後に改行を入れるのを忘れないように
-----------------------------------------
ログインした時、.bashrc を実行する。 環境変数の設定や別名機能の設定はこれらのファイルの中で行う。
$ make↓
と打つと、makefile という名前のファイルを参照してコンパイルを行う。
例えば次のような構成で 1 つの実行型ファイルを作る場合、
メイクファイルは以下のように記述すると良い。
コンパイル リンク
prog1.c →→ prog1.o
prog2.c →→ prog2.o →→ prog
ライブラリ
メイクファイルの内容
#
# makefile # はコメント文を表す
#
prog : prog1.o prog2.o
cc -o prog prog1.o prog2.o
prog1.o : prog1.c
cc -c prog1.c
prog2.o : prog2.c
cc -c prog2.c
上の例は丁寧に書いた。しかし、例えば、メイクコマンドでは、cc を使ってリンクする時、
$$$.o は $$$.c から作成され、それをコンパイルする時は、
cc -c $$$.c を実行する
という暗黙の了解があるため、上の例において prog1.o : 以降は不要である。
メイクファイルの書き方についての詳細は別ファイルで行う。
$ ftp 192.168.xx.yy または $ ftp ftp>open 192.168.xx.yy と打ってファイル転送モードに入る。/etc/hosts ファイルに マシン名と ip アドレスの対応を書いておけば、マシン名に よる指定も可 ftp> help コマンド一覧 ftp> pwd ftp 先マシンで pwd ftp> ls ftp 先マシンで ls ftp> cd dir-name ftp 先マシンで cd ftp> !ls 自マシンで ls ftp> lcd . 自マシンで pwd ftp> lcd dir-name 自マシンで cd ftp> get fname 持ってくる ftp> mget *.c ワイルドカードを使って複数ファイルを指定 ftp> put fname 送り込む ftp> quit 終了
コマンドを実行して、プロンプトが戻ってこない状態で、 ^z とすると、一時中断してコマンドを受け付ける状態になる。 bg と打つと、バックグラウンドで実行する。 fg と打つと、フォアグランドに戻る。
$ diff file1.txt file2.txt 2つのテキストファイルの内容の比較
$ which ls ls コマンドの場所を表示する
$ grep aa a.txt a.txt の中から aa という文字パターンが
存在する行を抽出する
grep の使用例
$ ps agx | grep httpd
$ find . -mtime -1 -print 過去 1 日以内に変更されたファイルの名前を
列挙する。サブディレクトリも検索する。
$ ps プロセスを表示する (Windows のタスクマネージャ)
$ ps aux
$ ps agx
$ ps ax
user xxx ユーザー名を入れる get fname ファイルを取ってくる mget * 複数のファイルを取ってくる ワイルドカード可能 mget *.py put fname ファイルを送り込む mput * 複数指定 prompt mget, mput のときに一個ずつ問い合わせない トグル動作 cd リモートのフォルダ移動 ls リモートの ls lcd ローカルのフォルダ移動 !ls ローカルの ls binary バイナリモード(デフォルト) ascii アスキーモード アスキーモードにすると、テキストファイルについては、 改行コードを OS に合わせたものに置換する。 混乱の元なので ascii モードは推奨しない。