UNIX/Linuxの部屋 コマンド:man


※空白区切りで AND 検索 (例:「ファイル 削除」)

コマンド man オンラインマニュアルを表示する

UNIX では、基本的に全てのコマンドにオンラインマニュアルが用意されている。
% man コマンド名
とすることで、そのコマンドの説明を見ることができる。例えば ls コマンドのマニュアルを読みたければ
% man ls
とすればいい。また、コマンド名以外にも、システムコールやライブラリ、設定ファイルなどのマニュアルもある。これらは、セクションごとに分けられており、
1 コマンド (ls、cat、kterm など)
2 システムコール (C言語の関数。open、fork など)
3 ライブラリ関数 (C言語の関数。printf、fopen、Tck/Tk、Xlib などの関数群)
4 デバイス・デバイスドライバ
5 ファイルフォーマット (uuencodeなどのファイル形式、hostsなどの書式)
6 ゲーム
7 その他 (環境変数の説明、groff の書式など)
8 システム管理 (各種デーモン、sendmail、mount*など)
9 新しく追加されたマニュアル(Tkなど?)
となっている(これは FreeBSD の場合。OS によってセクション構成が違う場合がある)。

セクション番号を指定するには、
% man セクション名 マニュアル名
とする。例えば ls はコマンドなので、
% man 1 ls
また、fopen はライブラリ関数なので
% man 3 fopen
とすればよい。なお、SystemV 系 UNIX では、マニュアルのセクションを指定する場合、
% man -s 3 fopen
と、-s オプションを付ける必要がある。

ただし、セクション名を省略すると、セクションを1から順に探していって、最初に見付かったマニュアルを表示する。そのため、
% man 1 ls
% man 3 fopen
は、どちらもセクション番号を省略して
% man ls
% man fopen
としてもよい。しかし、異なるセクションに同じ名前のマニュアルが用意されている場合がある。例えば printf は、コマンドの printf (セクション1)、Cのライブラリの printf (セクション3) の
2種類があるので、セクションを指定せず
% man printf
とすると、セクション1の printf コマンドのマニュアルが表示される。C の printf 関数のマニュアルを見るには、
% man 3 printf
とセクション名を明示しなければならない。他のセクションに同名のマニュアルがあるかどうかは、man -aw で調べるとよい。例えば、
% man -aw crontab
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
とすると、crontab にはセクション1 (crontab コマンドの説明) とセクション5 (cron の設定ファイルの書式) があることがわかる。

-a 名前にマッチしたマニュアルを全て表示する
-d デバッグモード。マニュアルを探す過程を表示
-f whatis と同じ機能
-k apropos と同じ機能
-w 表示するマニュアルのフルパスを表示
-M マニュアルを検索するパスを指定

man から呼ばれるページャ (more や less) を変更したい場合、環境変数 PAGER で設定できる。当ページ管理人としては、やはり less (FreeBSD なら jless) をお勧めする。

オンラインマニュアルをファイルにリダイレクトしてエディタで見た場合、コントロールコードが含まれているのでうまく表示されない。マニュアルをテキストに変換するには col を使う。

オンラインマニュアルを PostScript ファイルにするには、
% gzcat /usr/share/man/man1/ls.1.gz | groff -man > ls.ps
とすればよい。

FreeBSD・NetBSD・Solaris・Linux などは、日本語マニュアルが用意されている。jman の項を参照。

GNU の多くのコマンドは man ではなく info に詳細な情報が記載されている。man の方は手抜きか、ろくにメンテナンスされていないケースが多い。
>> FreeBSDオンラインマニュアル(man) FreeBSD man(1)
>> Solaris10オンラインマニュアル(man) Solaris10 man(1)
>> Linuxオンラインマニュアル(man) Linux man(7)
>> Linuxオンラインマニュアル(man) Linux man(1)

読み方 man (UNIXコマンド) [まん]

UNIX のマニュアル、あるいはマニュアルを閲覧するコマンド名。"MANual" の略。

「man command」と発音するとニヤニヤしだす人がたまにいるが、当ページ管理人はスルーしている。そういう人は「man co」で大喜びする。


頑張って書いたおすすめコンテンツ!
クラウドサービス徹底比較・徹底解説