manの使い方・読み方
Linuxのコマンドやディレクトリの情報はオンラインマニュアルを参照すれば得られます。オンラインマニュアルはmanコマンドを用いて表示できます。オンラインマニュアルを読むには多少慣れが必要なのでコマンドを使うときはmanを参照して慣れておくとよいです。
$ man mkdir
と入力すればmkdirコマンドの使い方が表示されます。
また、passwdのようにコマンドやファイル・ディレクトリがあるような場合はマニュアルの章を指定します。デフォルトでは1章(コマンド)が表示されます。
何章に書かれているかは
$ man -f passwd
あるいは$ apropos passwd (man -kと同じ)
と入力すれば参照できます。
manで章を指定するには $ man 5 passwd
というように指定します。これで5章のpasswdファイルについてのマニュアルを閲覧できます。
章の内容については
- コマンド
- システムコール
- ライブラリ
- デバイス
- ファイル
が書かれています。
manの読み方
manの内容は項目に分かれて記載されています。以下は第一章に書かれている項目の例です。
- NAME (名前)コマンドの名前と一行説明
- SYNOPSIS (書式) コマンドのオプションなどの書き方
- DESCRIPTION (説明)コマンドの詳しい説明文
- OPTION (オプション)コマンドで使用できるオプションと使い方
- EXAMPLE(例) 用例
- OUTPUT(出力) コマンドの出力について
manを参照するときに見ることが多い項目はオプションだと思いますが、SYNOPSISとOPTIONの項目の見方が最初は難しく感じるかもしれません。SYNOPSISでわかることはどんなオプションが使用可能で併用できるか?引数の書き方などがわかります。OPTIONの項目は各オプションの説明が書かれています。
manを読むのに必要な前提知識を少し説明します。
まず、オプションには-tのような短いオプションと–allのような長いオプションがあります。片方だけのものも両方ある場合もあります。例えばnetstatでは「–all」は「-a」と表記してもOKです。
また、コマンドは引数といってコマンドを実行するのに追記情報が必要になることがあります。例えば「mkdir」はディレクトリを作成するコマンドですが、ディレクトリを作成するには名前が必要です。名前は引数で指定します。「mkdir -p music」と書けば-pのオプションはすでにディレクトリがあってもエラーを返さない、musicは引数でディレクトリの名前です。料理の注文で例えるなら、オプションは店内かお持ち帰り、冷たいのか温かいのか?というような選択肢で引数は料理の名前になります。
このようにコマンドは「コマンド -オプション 引数」というような書式になります。
それではmanの説明に移ります。
manのSYNOPSISには使えるオプションや併記可能なオプションがかかれています。netstatのSYNOPSISを見てみましょう。
netstat [address_family_options] [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l]
[--all|-a] [--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports]
[--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--verbose|-v]
[--continuous|-c]
netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v]
[--numeric|-n] [--numeric-hosts][--numeric-ports][--numeric-ports] [--continuous|-c]
SYNOPSISを見ると netstatと書かれた次に[]表記が続いています。 [–all | -a]と書かれているのがありますが、これは「–allと-aは同じ意味で使えますよ。」という意味です。
また、よく見ると下にまたnetstatと書かれているのが見つかると思います。これは一つ目と二つ目のnetstatで得られる結果が異なるということです。netstat 最初のnetstatはポートに関する情報を得られますが、二つ目はルーティングに関する情報が得られるものです。同じ行にあるオプションは基本併用できます。 netstat -tuanなどと一度に指定することができます。二番目のnetstat には{ –route|-r}とありますが、これはnetstat -rと指定するとルーティングテーブル情報が得られ、それ以降のオプションで出力をカスタマイズできますよというような意味です。
つまり、netstat -an と netstat -rnで得られる出力は別物であるということですね。
manの表記はコマンドによって書式が異なっているので注意が必要ですが、大体は同じようなことがかかれているのでわかるはずです。
また、上記の例ではありませんが引数が必要な場合は 「-」無しで、 filename やFILEと引数が指定されています。
例えば「touch filename」や「touch FILE」などと表記されています。touchはファイルを作成したりタイムスタンプを変更するコマンドですが、ファイルを作成するにはファイル名が必要なので引数filenameが必要になるわけです。ファイルを作らずにタイムスタンプ(日付)を変更したい場合はオプション -aなどを指定します。
コマンドによってはSYNOPSISに書かれずにDESCRIPTIONに書かれる場合もあります。manの書式は違っている場合があるということを頭に入れておきましょう。
web上のmanページや日本語manを入れる方法
日本語のmanページを導入するには
「apt-get install manpages-ja」「yum install manpages-ja」とすればインストールすることができます。
ちなみにmanpageはネットで検索すればブラウザ上でも見ることができます。