manコマンドの基本的な使い方を理解する | Linuxコマンド

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コマンドを使いこなして、困ったときはまず公式のマニュアル/ドキュメントを読む、というのを身体に染み込ませたいものです。

[関連記事]

www.bioerrorlog.work

www.bioerrorlog.work