ユーザーコマンドの紹介
$?
に最後に実行したコマンドのステータスが保持される)、
そのコマンドが成功して完了したかどうかを知ることができる。
伝統的に、終了ステータス 0 は成功を示すのに使われ、非 0 の値は
そのコマンドが成功しなかったことを示す
(終了ステータスの詳細は
wait (2)
に書かれている)。
非 0 の終了ステータスは 1 から 255 の範囲の値をとることができ、
いくつかのコマンドではコマンドが失敗した理由を示すために
複数の非 0 のステータス値が使用されている。
login
プログラムは (コマンド・インタープリタである)
シェル (shell)
を起動する。グラフィカル・ログインの場合は、メニューやアイコンがある
スクリーンが表示され、マウスをクリックするとウィンドウが開いて
シェルが起動されることだろう。詳しくは
xterm (1)
を参照のこと。
シェル
に対して入力する。
シェル
は、組み込みコマンドではなく普通のプログラムであり、好みのものに変更する
ことができる。各人にはそれぞれ好みのシェルがある。標準のシェルは
sh
と呼ばれる。
ash (1),
bash (1),
csh (1),
zsh (1),
chsh (1)
を参照のこと。
セッションの例を以下に示す。
knuth login: aeb Password: ******** % date Tue Aug 6 23:50:44 CEST 2002 % cal August 2002 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
% ls bin tel % ls -l total 2 drwxrwxr-x 2 aeb 1024 Aug 6 23:51 bin -rw-rw-r-- 1 aeb 37 Aug 6 23:52 tel % cat tel maja 0501-1136285 peter 0136-7399214 % cp tel tel2 % ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 % mv tel tel1 % ls -l total 3 drwxr-xr-x 2 aeb 1024 Aug 6 23:51 bin -rw-r--r-- 1 aeb 37 Aug 6 23:52 tel1 -rw-r--r-- 1 aeb 37 Aug 6 23:53 tel2 % diff tel1 tel2 % rm tel1 % grep maja tel2 maja 0501-1136285 %
date
という日付と時刻を表示するコマンドや、
cal
というカレンダを表示するコマンドもある。
ls
コマンドはカレント・ディレクトリの内容をリスト表示する、つまり
ディレクトリ内にどんなファイルがあるかを教えてくれる。
-l
オプションをつけて実行すると、詳細表示が行われ、
ファイルの所有者、サイズ、日付などが表示される。
上の例では、tel ファイルは、サイズが 37 バイトで、所有者は aeb で、
所有者は読み書きができ、他の人は読み出しだけができることが分かる。
ファイルの所有者と権限 (permission) は、それぞれ
chown
コマンドと
chmod
コマンドで変更できる。
cat
コマンドはファイルの内容を表示する。
(コマンド名は concatenate and print (連結して印字する) に由来している。
引数として与えられた全てのファイルの内容が連結され、「標準出力」
に送られる。上の例では、標準出力は端末のスクリーンである。)
cp
コマンドはファイルのコピーを行う (その名前は copy に由来する)。
一方、
mv
コマンドは単純にファイル名の変更を行う
(その名前は move に由来する)。
diff
コマンドは 2 つのファイルの違いを表示する。
上の例では、二つのファイルに違いがないので、何も出力されていない。
rm
コマンドはファイルを削除する。ファイルはなくなってしまうので
注意して使用すること! ゴミ箱に相当するものはなく、
削除はそのファイルが完全に失われることを意味する。
grep
コマンドは、指定された文字列を一つ以上のファイルから探す
(コマンド名は g/re/p に由来している)。
上の例では、Maja の電話番号が見つかっている。
パス名 (pathname)
があり、パス名は (/ と呼ばれる) 木の根からの経路を示すものである。
上の例では、完全なパス名は /home/aeb/tel のようになる。
いつも完全なパス名を使うのは不便なので、カレント・ディレクトリにある
ファイル名は、ファイル名の最後の部分だけに省略することができる。
したがって、カレント・ディレクトリが /home/aeb の時は、 /home/aeb/tel
を tel に省略して書くことができる。
pwd
コマンドはカレント・ディレクトリを表示する。
cd
コマンドはカレント・ディレクトリを変更する。
cd /、pwd、cd、pwd と順に実行してみるとよい。
mkdir
コマンドはディレクトリを新規に作成する。
rmdir
コマンドは空であればディレクトリを削除し、
空でなければエラーメッセージを表示する。
find
コマンドは、指定された名前やその他の属性を持つファイルを探す
tel という名前のファイルの検索をカレント・ディレクトリから開始する。
(カレント・ディレクトリは . で表す)。find / -name tel としても
同じことを行うが、検索は木の根 (/) から開始される。
数 GB のディスクに対して検索をかけると時間がかかるので、
そのようなときは
locate (1)
を使った方がいいかもしれない。
mount
コマンドは、(フロッピーや CDROM などの) ディスク上のファイルシステムを
大きなファイルシステム階層に接続する。逆に
umount
コマンドは切り離しを行う。
df
コマンドを実行すると、ディスクの未使用量がどの程度かを表示する。
foreground
で実行されており、そうでないものは
background
で実行されている。
コマンド
ps
により、どのプロセスが実行されているかやプロセスが持っている番号
(プロセス番号) を表示できる。
コマンド
kill
を使うことで、プロセスを取り除くことができる。
オプションなしで実行されると、「いなくなって下さい」というやさしい要求
を行う。kill -9 に続けてプロセス番号を指定すると、指定したプロセスを
直ちに削除する。
foreground プロセスは多くの場合 Control-C をタイプすることで
殺すことができる。
man ページ
に書かれている。例えば man kill コマンドを実行すると、kill コマンドの
使い方に関する説明が表示される。(同様に man man は man コマンドに
ついての説明を表示する。)
man
プログラムはテキストを
pager
に渡して表示を行う。
pager
として
less
が使われることが多い。
次のページに進むにはスペース・キーを、終了するには q を押す。
ドキュメントでは、他の man ページへの参照は
man (1)
のように名前とセクション番号で示すのが一般的である。
man ページは簡潔に書かれており、詳細を忘れたときに素早く情報を見つける
ことができる。例や説明とともに入門向けの記載もあるので、初めての人にとっても
役に立つものである。
多くの GNU/FSF ソフトウェアには info ファイルが付属している。
info info とタイプすると、info プログラムの使い方の紹介が表示される。
特集記事については HOWTO で扱われることが多い。
/usr/share/doc/howto/en
を見るといいだろう。
HTML ファイルがあった場合はブラウザを使って表示すればよい。