InfraAcademy

InfraAcademy Blog

【Linux】manコマンドの使い方を解説!コマンドやパッケージなどのドキュメントを表示する

| #Linux #Linux初心者 #コマンド
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Linuxのmanコマンドについて解説します。

Linuxを勉強していると、コマンドのオプションや使い方を忘れることがあります。そんなときに使えるのがmanページです。

たとえばlsのオプションを調べたいときは、次のように実行するだけです。

man ls

この記事では、基本操作、検索、セクション、主なオプション、エラー時の対処まで解説します。

【Linux】manコマンドの使い方解説

manコマンドとは?

manは、Linuxでコマンドや設定ファイル、システムコールなどのマニュアルページを表示するためのコマンドです。

名前はmanualに由来します。

基本的な書き方は次の通りです。

man [調べたい名前]

たとえば、現在のディレクトリを表示するpwdコマンドについて調べる場合は次のように実行します。

man pwd

コマンドを実行すると、以下のようにpwdコマンドの使い方やオプションなどを表示してくれます。

manコマンドの実行結果

最初からすべて読まず、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 -kaproposコマンドとほぼ同じ用途です。

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

コマンド本体の場所を確認したい場合はwhichcommand -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の講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

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

InfraAcademyで学習を始める

関連:インフラ学習におすすめのサイトInfraAcademy(インフラアカデミー)

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る