manコマンドの基本的な使い方を整理します。
はじめに
こんにちは、@bioerrorlogです。
manコマンドは、マニュアルを表示できるコマンドです。
manコマンドを使いこなせれば、コマンドのことをよく知らなくても自分で調べることができます。 もちろん、googleで検索すればコマンドの使い方を解説する記事はたくさん出てきますが、やはり偉大な製作陣の手によるマニュアルが一番正確です。
今回は、このmanコマンドの使い方を整理します。
manコマンドの基本的な使い方を理解する
manの使い方の初歩
まず一番素朴な使い方は、man [コマンド名]
です。
試しにmanコマンド自身のマニュアルをmanコマンドで表示してみます。
$ man man
MAN(1) Manual pager utils MAN(1) NAME man - an interface to the on-line reference manuals SYNOPSIS man [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-m system[,...]] [-M path] [-S list] [-e extension] [-i|-I] [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justification] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page[.sec‐ tion] ...] ... man -k [apropos options] regexp ... man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ... man -f [whatis options] page ... man -l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager] [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ... man -w|-W [-C file] [-d] [-D] page ... man -c [-C file] [-d] [-D] page ... man [-?V] ~(以下略)
マニュアルは"q"を押せば終了されます。
同じ形式で、その他のコマンドのマニュアルも表示できます。
$ man ls
LS(1) User Commands LS(1) NAME ls - list directory contents ~(以下略)
ここで注目しておきたいは、"セクション"という概念です。
上記man ls
結果も、よく見ると最初の行にLS(1)
とあります。
この(1)
が、lsマニュアルのセクション 1であることを示しています。
マニュアルのセクションを指定する
マニュアルのセクションは、man [セクション番号] [コマンド名]
で指定することが出来ます。
セクションは1から9までの番号で分類されています。
manマニュアルに各セクション内容が記載されているので、忘れたときはman man
しましょう。
1 Executable programs or shell commands 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard]
ただ、それぞれのマニュアルにセクションが1から9まですべて存在しているわけではないので注意が必要です。
マニュアルを検索する
つぎに、マニュアルを検索するオプション"-k"を紹介します。
-k, --apropos Equivalent to apropos. Search the short manual page descriptions for keywords and display any matches.
オプション"-k"に文字列を渡せば、全てのマニュアルページ説明文を検索し、マッチしたものを一覧表示してくれます。
例:
$ man -k printf asprintf (3) - print to allocated string dprintf (3) - formatted output conversion fprintf (3) - formatted output conversion fwprintf (3) - formatted wide-character output conversion printf (1) - format and print data printf (3) - formatted output conversion snprintf (3) - formatted output conversion sprintf (3) - formatted output conversion swprintf (3) - formatted wide-character output conversion vasprintf (3) - print to allocated string vdprintf (3) - formatted output conversion vfprintf (3) - formatted output conversion vfwprintf (3) - formatted wide-character output conversion vprintf (3) - formatted output conversion vsnprintf (3) - formatted output conversion vsprintf (3) - formatted output conversion vswprintf (3) - formatted wide-character output conversion vwprintf (3) - formatted wide-character output conversion wprintf (3) - formatted wide-character output conversion
この例ではprintf
という文字列を説明文に含むマニュアルページが一覧表示されています。
関連するmanページを探したいときに便利です。
manページ内を検索する
manページそのものを検索するのではなく、manページ内で文字列を検索したい状況もよくあります。
文字列を検索するには、manページが表示されている状態で
スラッシュ/
+ 文字列
を入力し、Enterを押すと検索を開始できます。
次の検索ヒットに移動するには n を、
前の検索ヒットに移動するには Shift + n を押下します。
おわりに
以上、manコマンドの使い方を簡単に整理しました。
manコマンドを使いこなして、困ったときはまず公式のマニュアル/ドキュメントを読む、というのを身体に染み込ませたいものです。
[関連記事]