Unix 世界では、管理者全員が遅かれ早かれコマンドラインを使わなければいけません; 例えば、システムが正常な起動に失敗して、コマンドラインのレスキューモードだけが提供される場合です。それゆえ、このような状況下ではコマンドラインインターフェースを取り扱う事が可能な事が基本的なサバイバル技術です。
この説では、コマンドを簡単に見ていきます。すべてのコマンドは多くのオプションを持っていますが、ここでは説明しません; また、コマンドのマニュアルページには豊富な文書が用意されています。
B.1.1. ディレクトリツリーの閲覧とファイル管理
一度セッションが開始されたら、pwd
コマンド (これは print working directory の略語です) でファイルシステム上の現在の場所を表示する事が可能です。現在のディレクトリを変更するには、cd directory
コマンド (cd
は change directory の略語です) を使います。親ディレクトリは常に ..
(ドット 2 つ) で表します。これに対して、現在のディレクトリは .
(ドット 1 つ) で表します。ls
コマンドは指定したディレクトリの内容を listing (表示) します。パラメータを与えなかった場合、ls
コマンドは現在のディレクトリの内容を表示します。
$
pwd
/home/rhertzog
$
cd Desktop
$
pwd
/home/rhertzog/Desktop
$
cd .
$
pwd
/home/rhertzog/Desktop
$
cd ..
$
pwd
/home/rhertzog
$
ls
Desktop Downloads Pictures Templates
Documents Music Public Videos
新しいディレクトリを作成するには mkdir directory
を使い、既存の (空) ディレクトリを削除するには rmdir directory
を使います。mv
コマンドを使うことでファイルとディレクトリの moving (移動) 及び名前変更が可能です; ファイルを removing (削除) するには rm file
を実行します。
$
mkdir test
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public test
$
mv test new
$
ls
Desktop Downloads new Public Videos
Documents Music Pictures Templates
$
rmdir new
$
ls
Desktop Downloads Pictures Templates Videos
Documents Music Public
cat file
コマンド (ファイルを標準出力に concatenate (連結) する) はファイルを読み込んで内容を端末に表示する。ファイルが画面上に表示するには大きすぎる場合、less
(および more
) などのページャーを使い、ページごとに内容を表示します。
editor
コマンドは常にテキストエディタ (vi
や nano
など) を指しており、テキストファイルの作成、修正、読み込みを行います。リダイレクト機能のお陰で、しばしばコマンドインタプリタから最も簡単なファイルを作る事が可能です: echo "text" >file
は「text」という内容で file と名付けられたファイルを作成します。echo "line" >>file
などのコマンドを使えば、ファイルの最後に行を追加する事も可能です。
find directory criteria
コマンドは directory の下にあるファイルから条件に一致するものを探します。最もよく使われる条件は -name name
です: これは名前を基にしてファイルを探します。
grep expression files
コマンドはファイルの内容を検索して、正規表現 (傍注
BACK TO BASICS 正規表現参照) に一致する行を抽出します。
-r
オプションを追加すれば、パラメータとして指定されたディレクトリに含まれるすべてのファイルに対して再帰検索する事が可能です。
-r
オプションを使うことで、内容の一部がわかっているファイルを探す事が可能です。
ps aux
コマンドは現在実行中のプロセスをリストし、プロセスの pid (プロセス ID) を使ってプロセスを識別する事が可能です。プロセスの pid が判ったら、kill -signal pid
コマンドを使ってプロセスにシグナルを送信する事が可能です (対象のプロセスがシグナルを送信するユーザのものである場合に限ります)。シグナルには様々な種類があります; 最もよく使われるのが TERM
(処理の終了を依頼する) と KILL
(強制的に終了する)。
コマンドインタプリタは、コマンドの最後に「&」がついていた場合、バックグラウンドでプログラムを実行します。アンパサンドを使うことで、ユーザは、コマンドがまだ実行中であっても、すぐにシェルの制御を再開する事が可能です (ここで実行したコマンドはユーザから見えなくなります; バックグラウンドプロセスになります)。jobs
コマンドはバックグラウンドで実行中のプロセスをリストします; fg %job-number
(foreground の略語) は指定したジョブをフォアグラウンドに復活させます。コマンドがフォアグラウンドで実行されている場合 (通常通り開始した場合も、fg
でフォアグラウンドに復活した場合も)、Control+Z キーの組み合わせでフォアグラウンドプロセスを一時停止してコマンドラインの制御を再開する事が可能です。プロセスをバックグラウンドで再開するには、bg %job-number
(background の略語) を使います。
B.1.5. システム情報: メモリ、ディスク領域、識別情報
free
コマンドはメモリに関する情報を表示します; df
(disk free) はファイルシステムにマウントされた各ディスクの利用可能なディスク領域を報告します。-h
オプション (human readable の意味) はサイズを判りやすい単位 (通常メガバイトやギガバイト) で変換します。同様に、free
コマンドに -m
と -g
オプションを渡した場合、データはそれぞれメガバイトかギガバイト単位で表示されます。
$
free
total used free shared buffers cached
Mem: 1028420 1009624 18796 0 47404 391804
-/+ buffers/cache: 570416 458004
Swap: 2771172 404588 2366584
$
df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda2 9614084 4737916 4387796 52% /
tmpfs 514208 0 514208 0% /lib/init/rw
udev 10240 100 10140 1% /dev
tmpfs 514208 269136 245072 53% /dev/shm
/dev/sda5 44552904 36315896 7784380 83% /home
id
コマンドはセッションを実行しているユーザの識別情報をユーザが所属するグループのリストと一緒に表示します。一部のファイルやデバイスへのアクセスはグループメンバーだけに制限されているかもしれませんので、ユーザの所属するグループの確認する事が役に立つ場合があります。
$
id
uid=1000(rhertzog) gid=1000(rhertzog) groups=1000(rhertzog),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),108(netdev),109(bluetooth),115(scanner)