こんにちは、フルスタックエンジニアのryuです。
今回の記事では、Linuxのmanコマンドについて解説します。
Linuxを勉強していると、コマンドのオプションや使い方を忘れることがあります。そんなときに使えるのがmanページです。
たとえばlsのオプションを調べたいときは、次のように実行するだけです。
man ls
この記事では、基本操作、検索、セクション、主なオプション、エラー時の対処まで解説します。
【Linux】manコマンドの使い方解説¶
manコマンドとは?¶
manは、Linuxでコマンドや設定ファイル、システムコールなどのマニュアルページを表示するためのコマンドです。
名前はmanualに由来します。
基本的な書き方は次の通りです。
man [調べたい名前]
たとえば、現在のディレクトリを表示するpwdコマンドについて調べる場合は次のように実行します。
man pwd
コマンドを実行すると、以下のようにpwdコマンドの使い方やオプションなどを表示してくれます。

最初からすべて読まず、NAME、SYNOPSIS、DESCRIPTION、OPTIONSなど必要な部分だけ確認するのがおすすめです。
manページの基本的な読み方¶
man lsなどを実行すると、いくつかの項目に分かれて説明が表示されます。
コマンドによって構成は異なりますが、よく見る項目は次の通りです。
| 項目 | 内容 |
|---|---|
| NAME | コマンド名と簡単な説明 |
| SYNOPSIS | コマンドの基本的な書式 |
| DESCRIPTION | コマンドの詳しい説明 |
| OPTIONS | 利用できるオプション |
| EXAMPLES | 実行例。ページによってはない |
| SEE ALSO | 関連するコマンドやmanページ |
たとえばSYNOPSISに次のような表示があったとします。
ls [OPTION]... [FILE]...
これは、lsの後ろにオプションやファイル名を指定できるという意味です。
実際には次のように使います。
ls -la /var/log
【関連記事】Linuxコマンドのオプションそのものが分からない方は、Linuxコマンドのオプションとは?覚え方・調べ方・使い方を初心者向けに解説も参考にしてください。
manページ内を検索する方法¶
manページは長いため、ページ内検索を使うと便利です。
| キー | 操作 |
|---|---|
Space |
次の画面へ進む |
b |
前の画面へ戻る |
/文字列 |
ページ内を検索する |
n |
次の検索結果へ移動する |
N |
前の検索結果へ移動する |
q |
manページを終了する |
たとえばlsのrecursiveオプションについて調べたい場合は、まず次のコマンドを実行します。
man ls
manページが開いたら、次のように入力します。
/recursive
該当する文字列へ移動できます。
manコマンドのセクションとは?¶
manページにはセクションがあります。
主なセクションは次の通りです。
| セクション | 主な内容 |
|---|---|
| 1 | 一般ユーザー向けコマンド |
| 2 | システムコール |
| 3 | ライブラリ関数 |
| 4 | デバイスや特殊ファイル |
| 5 | ファイル形式・設定ファイル |
| 6 | ゲーム |
| 7 | その他の規約・概要 |
| 8 | システム管理コマンド |
たとえばpasswdには、ユーザーがパスワードを変更するコマンドとしてのmanページと、/etc/passwdファイルについて説明するmanページがあります。
コマンドとして確認するなら次のように実行できます。
man 1 passwd
設定ファイルの形式を確認する場合は次の通りです。
man 5 passwd
このように、
man [セクション番号] [名前]
と指定すると、見たい種類のマニュアルを明確に指定できます。
manコマンドの便利なオプション¶
man -kで関連するマニュアルを検索する¶
調べたいコマンド名が分からない場合は、-kを利用できます。
man -k password
キーワードに関連するmanページの名前と説明が一覧で表示されます。
man -kはaproposコマンドとほぼ同じ用途です。
apropos password
man -fで短い説明を確認する¶
-fを使うと、指定した名前について短い説明を確認できます。
man -f passwd
これはwhatisコマンドと同じ用途です。
whatis passwd
man -Kでmanページ本文を検索する¶
大文字の-Kは、小文字の-kとは動作が異なります。
man -K "permission denied"
-Kは、manページの本文全体から文字列を検索します。
元の記事では-Kを指定されたセクション内の検索と説明していましたが、これは正しくありません。
特定のセクションを指定したい場合は、次のようにセクション番号を使います。
man 5 passwd
man -wでmanページの場所を確認する¶
manページがどこに保存されているのか確認したい場合は-wを利用できます。
man -w ls
環境によって次のようなパスが表示されます。
/usr/share/man/man1/ls.1.gz
コマンド本体の場所を確認したい場合はwhichやcommand -v、マニュアルを含めて探したい場合はwhereisも便利です。
【関連記事】コマンドの場所を調べる方法とは?whichコマンド、whereisコマンドで調査する
manと--helpはどう使い分ける?¶
Linuxコマンドの使い方を調べる方法はmanだけではありません。
多くのコマンドでは--helpも利用できます。
ls --help
簡単に違いを整理すると次のようになります。
| 方法 | 特徴 |
|---|---|
man ls |
詳しい説明を読みたいとき |
ls --help |
オプションをすぐ一覧したいとき |
man -f ls |
何をするコマンドか短く確認したいとき |
man -k keyword |
コマンド名自体が分からないとき |
簡単に確認するなら--help、詳しい仕様を読むならmanページ、と使い分けると分かりやすいです。
man: command not foundと表示される場合¶
Linux環境によっては、manコマンドそのものがインストールされていないことがあります。
次のようなエラーが表示される場合です。
bash: man: command not found
まず、manが存在するか確認します。
command -v man
何も表示されない場合は、利用しているLinuxディストリビューションに合わせてインストールします。
UbuntuやDebian系では、manを提供するman-dbパッケージをインストールできます。
sudo apt update
sudo apt install man-db
Fedoraなどでもman-dbパッケージが利用されています。
sudo dnf install man-db
manコマンド本体とmanページのデータが別パッケージの場合もあるため、環境に合わせて確認してください。
manページが見つからない場合¶
manコマンド自体は動くのに、次のようにページが見つからないこともあります。
No manual entry for example
この場合、主に次の可能性があります。
| 原因 | 確認内容 |
|---|---|
| 名前が違う | スペルを確認する |
| manページが未インストール | 対象パッケージのドキュメントを確認する |
| セクションが違う | man -aやセクション番号を試す |
| 独自コマンド | --helpや公式ドキュメントを確認する |
関連するページを探すなら、次のように検索できます。
man -k example
複数のセクションに同じ名前がある場合は、環境によって-aですべての候補を順番に表示できます。
man -a passwd
manコマンドは暗記するためではなく調べるために使う¶
実務でも細かなオプションをすべて暗記しているわけではありません。
たとえばtarのオプションを忘れたら、
man tar
あるいは、
tar --help
で確認できます。
大切なのは、すべてのオプションを覚えることではなく、分からないときに自分で調べられることです。
【関連記事】Linuxコマンドの覚え方については、Linuxのコマンドの覚え方は?現役のエンジニアが解説しますも参考にしてください。
manコマンドを実際に練習してみよう¶
最後に、いくつかのコマンドを実際に試してみましょう。
まずlsのマニュアルを開きます。
man ls
ページ内でrecursiveを検索し、qで終了します。
次に短い説明を確認します。
man -f ls
関連するページを検索します。
man -k network
最後に、セクションを指定してpasswdを比較してみます。
man 1 passwd
man 5 passwd
manコマンドの使い方まとめ¶
今回の記事では、manコマンドについて解説しました。
基本的な使い方は次の通りです。
man ls
分からないオプションがあれば/でページ内検索し、関連するmanページを探したい場合はman -kを使います。
man -k network
また、同じ名前のページが複数ある場合は、セクション番号を指定できます。
man 5 passwd
manは、必要な情報を自分で調べるための基本ツールとして覚えておきましょう。
さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。
「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」
そのような方は、Linux入門講座から学習できます。
ネットワークのコマンドや通信の仕組みも学びたい方は、ネットワーク講座も用意しています。
↓InfraAcademyの講座の一部です。

インフラエンジニアに必要な知識が学習できます。



