Linuxでマニュアルページを効果的に利用する方法

Linuxのコマンドや設定ファイルを調べるときは、まず man 名前、同名項目を区別するときは man セクション 名前 を使います。たとえばコマンドの passwd は man 1 passwd、設定ファイルの形式は man 5 passwd です。名前が分からない場合は apropos キーワード または同義の man -k キーワード、短い説明だけなら whatis 名前 または man -f 名前 で候補を絞ります。閲覧中は / で検索し、nN で一致箇所を移動し、q で終了します。 確認ポイント:同名entryが複数sectionにある場合はsection番号を指定して目的のmanualを開きます。

目次

manのsectionを指定して目的の説明を開く

man ls
man printf
man 5 passwd

man ls は通常セクション1の ls コマンドを開きます。printf のようにシェル組み込みとライブラリ関数など複数の説明がある名前は、検索順で最初のページが表示されます。man 5 passwd の数字はページ番号ではなくマニュアルのセクションです。この例では /etc/passwd のファイル形式を読みます。

セクション番号で同名項目を選ぶ

  • 1:一般ユーザーが実行するコマンド。例 man 1 passwd
  • 2:カーネルのシステムコール。例 man 2 open
  • 3:ライブラリ関数。例 man 3 printf
  • 4:デバイスや特殊ファイル。
  • 5:ファイル形式や設定ファイル。例 man 5 passwd
  • 7:規約、概念、概要。例 man 7 signal
  • 8:主に管理用のコマンド。

セクションの構成はシステムやパッケージによって追加・差異があります。利用可能な全候補を見るには man -a printf を使い、表示されたページを終了すると次の候補へ進みます。特定セクションに存在するかだけ確認するなら man -w 5 passwd でページファイルの場所を表示できます。

名前を知らないときは説明文を検索する

whatis passwd
man -f passwd
apropos "copy files"
man -k "network interface"

whatisman -f は名前に一致するページの短い説明を表示します。期待例は passwd (1) - change user passwordpasswd (5) - the password file のように名前、セクション、要約が並ぶ形です。aproposman -k は名前と説明のデータベースをキーワード検索するため、正確なコマンド名が分からないときに向きます。

検索結果が多すぎる場合は語を具体化します。たとえば単なる copy より copy files、単なる network より network interface の方が絞りやすくなります。結果のセクションを見て、コマンドを探しているのにセクション3の関数だけを読んでいないか確認します。

ページ内を素早く移動する

多くの環境では man が less などのページャーを起動します。先頭から順に読む必要はありません。SYNOPSIS、OPTIONS、EXIT STATUS、FILES、EXAMPLES、SEE ALSO といった見出しへ移動し、構文、戻り値、関連ファイルを確認します。ページャーが異なる場合はキー操作も異なるため、画面下部の案内またはそのページャーのヘルプを確認します。

  • /文字列:現在位置より後方を検索する。例 /EXIT STATUS
  • n:同じ検索方向の次の一致へ進む。
  • N:反対方向の一致へ戻る。
  • Space または Page Down:次画面へ進む。
  • b または Page Up:前画面へ戻る。
  • g:先頭、G:末尾へ移動する(less使用時)。
  • q:閲覧を終了してシェルへ戻る。

SYNOPSISの記号を誤読しない

多くのmanページでは、角括弧は省略可能な要素、縦線は選択肢、省略記号は反復可能な要素を表します。これらのメタ記号をそのままコマンドへ入力するとは限りません。たとえば command [OPTION]... FILE... は、OPTIONは省略可能で、FILEは一つ以上という読み方です。実際の意味は各ページのDESCRIPTIONとOPTIONSで確認します。

短いオプションをまとめられるか、長いオプションに = が必要か、引数を省略できるかはコマンドごとに異なります。manページの例だけをコピーせず、自分の対象パスや入力を引用し、まず読み取りだけのオプションで出力と終了ステータスを確認します。

MANPAGERで閲覧方法を一回だけ変える

MANPAGER="less -R" man 5 passwd
printenv MANPAGER || echo MANPAGER-is-unset

先頭の代入は、その man 呼び出しだけに MANPAGER を渡します。現在のシェルへ永続設定しないため、元から未設定なら二行目は MANPAGER-is-unset と表示されます。普段のページャーを壊さず試す方法です。PAGER やman実装固有の優先順位もあるため、期待したページャーにならなければ man man のENVIRONMENT節を読みます。

manが見つからないときの診断

command -V man
man --version
man -w ls
man -f ls

command -V man が「not found」なら man プログラム自体がPATH上にありません。man -w ls がページのパスを返せばページは見つかっています。No manual entry for ls なら、man は動作していても該当するマニュアルページが未導入、検索パス外、またはページ名が違います。man -f ls や apropos がデータベース関連の警告を出す場合、ページ本体と索引データベースの問題を分けて考えます。

ディストリビューションでは、manコマンドを提供するパッケージが man-db 系、基本ページが manpages 系などに分かれていることがありますが、正確なパッケージ名はDebian、Ubuntu、Fedoraなどで異なります。管理対象端末では勝手に導入せず、まず /etc/os-release と利用中のパッケージ管理方針を確認し、OS公式リポジトリの該当パッケージを管理者手順で選びます。コンテナや最小イメージでは容量削減のためページが省かれていることもあります。

–help、man、infoの役割を分ける

ls --help
man ls
info coreutils "ls invocation"

--help はその実行ファイルが出す短い利用案内で、すぐにオプション構文を確認するのに向きます。ただしすべてのプログラムが同じ形式の --help を実装するわけではなく、シェル組み込みは help 名前 を使う場合があります。man は端末向けに整形された参照文書で、関連ファイルや終了値までまとまっています。

info はGNU Texinfo文書をノード単位で読む仕組みで、GNU Coreutilsなどではmanページより体系的な説明や例が収録されます。manとinfoの内容量は製品ごとに異なるため、一方が常に上位互換とは決めません。最初は --help で綴りを確認し、manで正式な構文と注意を読み、GNUツールの背景や詳細が必要ならinfoへ進むという使い分けが実用的です。

読み終えたかを確認する小さな演習

man 5 passwd を開き、/DESCRIPTIONnNq を順に試します。終了後に whatis passwd を実行し、セクション1と5の候補を区別できることを確認します。次に apropos password から一件選び、表示されたセクション番号を明示して開ければ、名前検索から本文参照まで再現できています。

この一連の操作は文書の閲覧と検索で、システム設定を変更しません。MANPAGERをコマンド前の一時代入で指定した場合も呼び出し後に残りません。期待したページが出ないときは再起動や設定変更へ進まず、ページ名、セクション、MANPATH、ページ本体、whatisデータベースのどこで見つからないかを診断します。

man検索が再現できるかの確認

  • 同名項目は man セクション 名前 で区別した。
  • 名前検索は whatis/man -f、説明検索は apropos/man -k と使い分けた。
  • 閲覧中の検索キー /nN、終了キー q を使えた。
  • manプログラム、ページ本体、索引データベースの不足を別々に診断した。
  • --help、man、infoを同じものとして扱っていない。

公式情報・参考資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次