Linux には GUI (グラフィカルユーザーインターフェース) が用意されており、 何かをポイントしたり、クリックしたり、ドラッグしたりでき、うまくいけば 最初にたくさんの文書を読まなくても目的の作業ができてしまうこともある。 伝統的な UNIX 環境は CLI (コマンドラインインターフェース) であり、 コマンドを打ち込んで、コンピュータに何をすべきか教えてやる。 CLI は GUI よりも速く強力だが、どのコマンドが何をするのか知っている必要 がある。CLI を使い始めるために必要最小限のコマンドを以下に述べる。
セッションの例を以下に示す。
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 $
ここで Control-D を打つとセッションが終了する。
ここで、 $ はコマンドプロンプトである。コマンドプロンプトはシェル独特のやり方で、 シェルが次のコマンドを受け付けられる状態になっていることを示している。 プロンプトは、柔軟にカスタマイズ することができ、ユーザー名、マシン名、カレントディレクトリ、時刻などを プロンプトに含めることができる。 PS1="What next, master? " と設定すると、 プロンプトはそのように変更されるだろう。
例にあるように、 date という日付と時刻を表示するコマンドや、 cal というカレンダを表示するコマンドもある。
ls コマンドはカレントディレクトリの内容をリスト表示する、つまり ディレクトリ内にどんなファイルがあるかを教えてくれる。 -l オプションをつけて実行すると、詳細表示が行われ、 ファイルの所有者、サイズ、日付などが表示される。 上の例では、"tel" ファイルは、サイズが 37 バイトで、所有者は aeb で、 所有者は読み書きができ、他の人は読み出しだけができることが分かる。 ファイルの所有者と権限 (permission) は、それぞれ chown コマンドと chmod コマンドで変更できる。
cat コマンドはファイルの内容を表示する。 (コマンド名は "concatenate and print" (連結して印字する) に由来している。 引数として与えられた全てのファイルの内容が連結され、「標準出力」 (stdout(3) 参照) に送られる。上の例では、標準出力は端末のスクリーンである。)
cp コマンドはファイルのコピーを行う (その名前は "copy" に由来する)。
一方、 mv コマンドは単純にファイル名の変更を行う (その名前は "move" に由来する)。
diff コマンドは 2 つのファイルの違いを表示する。 上の例では、二つのファイルに違いがないので、何も出力されていない。
rm コマンドはファイルを削除する。ファイルはなくなってしまうので 注意して使用すること! ゴミ箱に相当するものはなく、 削除はそのファイルが完全に失われることを意味する。
grep コマンドは、指定された文字列を一つ以上のファイルから探す (コマンド名は "g/re/p" に由来している)。 上の例では、Maja の電話番号が見つかっている。
pwd コマンドはカレントディレクトリを表示する。
cd コマンドはカレントディレクトリを変更する。
コマンド cd と pwd を交互に実行して、 cd の使い方をいろいろ試してみましょう: "cd", "cd .", "cd ..", "cd /" and "cd ~".
rmdir コマンドは空であればディレクトリを削除し、 空でなければエラーメッセージを表示する。
find コマンドは、指定された名前やその他の属性を持つファイルを探す (書式はかなり変わっている)。例えば、"find . -name tel" を実行すると、 tel という名前のファイルの検索をカレントディレクトリから開始する。 (カレントディレクトリは . で表す)。"find / -name tel" としても 同じことを行うが、検索は木の根 (/) から開始される。 数 GB のディスクに対して検索をかけると時間がかかるので、 そのようなときは locate(1) を使った方がいいかもしれない。
ドキュメントでは、他の man ページへの参照は man(1) のように名前とセクション番号で示すのが一般的である。 man ページは簡潔に書かれており、詳細を忘れたときに素早く情報を見つける ことができる。例や説明とともに入門向けの記載もあるので、初めての人にとっても 役に立つものである。
多くの GNU/FSF ソフトウェアには info ファイルが付属している。 "info info" とタイプすると、 info プログラムの使い方の紹介が表示される。
特集記事については HOWTO で扱われることが多い。 /usr/share/doc/howto/en を見るといいだろう。 HTML ファイルがあった場合はブラウザを使って表示すればよい。