このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】オンラインマニュアル:manコマンド

manコマンドの概要

 「man」コマンドは、"manual"(マニュアル)の略語に由来しています。これは、LinuxやUnix系システムで利用できるマニュアルページ(manページ)を表示するためのコマンドです。manページは、システムやコマンドの使用方法、オプション、構文、機能、コマンドの出力に関する詳細な情報を提供します。

 LinuxやUnix系システムでは、ほとんどのコマンドやシステムの機能に対するマニュアルがmanページとして提供されており、ユーザーがコマンドの使い方や動作を理解するための重要なリソースです。manコマンドを使用することで、ユーザーはコマンドやシステムに関する詳細な情報を取得し、効率的にシステムを操作することができます。

コマンドの主なオプションと説明

オプション説明
-aすべてのセクションのマニュアルを表示します。
-f指定されたキーワード(完全一致)でマニュアルページを検索して表示します。
-k指定されたキーワード(部分一致)でマニュアルページを検索して表示します。
-wマニュアルが格納されているディレクトリを表示します。
コマンドの主なオプションと説明

manコマンドの特徴

 マニュアルページの内容は通常、1画面に収まらないほど多岐にわたることがあります。そのため、長いテキストを1ページずつ表示してページ送りができるソフトウェアが必要です。このようなソフトウェアをページャ(pager)と呼びます。

 デフォルトでは、LinuxやUnix系システムではlessがページャとして設定されています。lessは、テキストファイルを1ページずつ表示し、スクロールして閲覧することができる強力なページャです。lessを使用することで、manコマンドによって表示されるマニュアルページを簡単に読みやすく閲覧することができます。

以下は、lessコマンドの主なキー操作を表にまとめたものです。

lessコマンドの主なキー操作

キー操作説明
矢印キーまたはj↑上に、↑下に1行スクロールします。
EnterまたはSpace次の行に移動します。
Page Up画面を1ページ上にスクロールします。
Page Down画面を1ページ下にスクロールします。
/検索モードに切り替えます。/後に検索語句を入力します。
?逆方向に検索モードに切り替えます。?後に検索語句を入力します。
n次の検索語句にジャンプします。
N前の検索語句にジャンプします。
qlessを終了して終了します。
lessコマンドの主なキー操作

 これらのキー操作を使用することで、lessを使ってテキストファイルやmanページをスクロールして閲覧することができます。

コマンドの使用例と解説

1.-a: すべてのセクションのマニュアルを表示する。

・「man -a printf」コマンドを実行します。

 このコマンドは、セクション3とセクション1の両方のマニュアルページを表示します。セクション3のマニュアルはライブラリ関数(C言語の標準ライブラリ)に関するものであり、セクション1のマニュアルは一般的なプログラムやコマンドに関するものです。

user01@ubuntu-vm:~$ man -a printf

PRINTF(1)                                        User Commands                                       PRINTF(1)

NAME
       printf - format and print data
SYNOPSIS
       printf FORMAT [ARGUMENT]...
       printf OPTION
DESCRIPTION
       Print ARGUMENT(s) according to FORMAT, or execute according to OPTION:
       --help display this help and exit
(省略)

2.-f: 指定されたキーワード(完全一致)でドキュメントを表示する。

・「man -f printf」コマンドを実行します。

このコマンドは、"printf"というキーワードに完全一致するマニュアルページを表示します。

user01@ubuntu-vm:~$ man -f printf
printf (1)           - format and print data

3.-k: 指定されたキーワード(部分一致)でドキュメントを表示する。

・「man -k file」コマンドを実行します。

 このコマンドは、"file"というキーワードに部分一致するマニュアルページを表示します。キーワードに部分一致するコマンドや関連する情報を含むマニュアルページが表示されます。

user01@ubuntu-vm:~$ man -k file

tempfile (1)         - 安全な一時ファイルの作成
00-upstream-settings (5) - dconf configuration file
FILE (3)             - overview of system data types
[ (1)                - check file types and compare values
aa-exec (1)          - confine a program with the specified AppArmor profile
aa-remove-unknown (8) - remove unknown AppArmor profiles
(省略)

4.-w: マニュアルが格納されているディレクトリを表示する。

・「man -w ls」コマンドを実行します。

 このコマンドは、"ls"コマンドのマニュアルページが格納されているディレクトリを表示します。マニュアルページは通常、特定のディレクトリ階層に格納されています。

user01@ubuntu-vm:~$ man -w ls
/usr/share/man/man1/ls.1.gz

主なセクション

マニュアルページは複数のセクションに分かれており、それぞれ異なる種類の情報を含んでいます。

主なセクションは下表のとおりです。

セクション内容
1ユーザーコマンドのセクション
5コンフィグファイルのセクション
8システム管理コマンド (root権限が必要なもの)のセクション
主なセクション

manコマンドにセクションを指定する。

 Linuxのマニュアルページはセクションによって分類されており、同じ名前のエントリが複数のセクションに存在する場合があります。そのため、特定のマニュアルページを参照する際には、適切なセクションを指定することが重要です。例えば、passwdはコマンドとしてもファイルとしても存在します。以下では、manコマンドを使用してpasswdのマニュアルページを参照する際の方法を解説し、実行例を示します。

1.コマンドのマニュアルを表示する。

・「man 1 passwd」コマンドを実行します。

passwd」というコマンドのマニュアルを表示する場合は、セクション1を指定します。

user01@ubuntu-vm:~$ man 1 passwd

PASSWD(1)                                   General Commands Manual                                  PASSWD(1)
名前
       passwd - ユーザパスワードを変更する
書式
       passwd [-f|-s] [name]
       passwd [-g] [-r|-R] group
       passwd [-x max] [-n min] [-w warn] [-i inact] login
       passwd {-l|-u|-d|-S|-e} login
説明
       passwd  はユーザアカウント・グループアカウントのパスワードを変更する。 一般ユーザは自分のアカウントのパ
       スワードしか変更できない。 スーパーユーザはいかなるアカウントのパスワードも変更できる。  グループの管理
       者はグループのパスワードを変更できる。 passwd によって、ユーザのフルネーム・ログインシェル・ パスワード
       の期限切れの日付・ 有効期間といったアカウント情報を変更することもできる。
(省略)

セクションの指定を省略するとコマンドのマニュアルが表示されます。

・「man passwd」コマンドを実行します。

「man 1 passwd」と同じ内容が表示されます。

user01@ubuntu-vm:~$ man 1 passwd

PASSWD(1)                                   General Commands Manual                                  PASSWD(1)
名前
       passwd - ユーザパスワードを変更する
書式
       passwd [-f|-s] [name]
       passwd [-g] [-r|-R] group
       passwd [-x max] [-n min] [-w warn] [-i inact] login
       passwd {-l|-u|-d|-S|-e} login
説明
       passwd  はユーザアカウント・グループアカウントのパスワードを変更する。 一般ユーザは自分のアカウントのパ
       スワードしか変更できない。 スーパーユーザはいかなるアカウントのパスワードも変更できる。  グループの管理
       者はグループのパスワードを変更できる。 passwd によって、ユーザのフルネーム・ログインシェル・ パスワード
       の期限切れの日付・ 有効期間といったアカウント情報を変更することもできる。
(省略)

2.ファイルのマニュアルを表示する。

・「man 5 passwd」コマンドを実行します。

passwd」というファイルのマニュアルを表示する場合は、セクション5を指定します。

user01@ubuntu-vm:~$ man 5 passwd

ASSWD(5)                                     File Formats Manual                                    PASSWD(5)
名前
       passwd - パスワードファイル
説明
       passwd ファイルには各ユーザアカウントの様々な情報が記録されている。 書かれているのは次の通り。
            ログイン名
            暗号化されたパスワード (無いこともある)
            ユーザ ID 番号
            グループ ID 番号
            ユーザ名またはコメントのフィールド
            ユーザのホームディレクトリ
            ユーザのコマンドインタプリタ

       パスワードが shadow 化されている場合は、 パスワードフィールドを埋めてはならない。 shadow パスワードを用
       いている場合、暗号化されたパスワードは /etc/shadow に書かれている。 暗号化されたパスワードは、 アルファ
       ベット a から z、A から Z、0 から 9、. と / の 64 文字から作られた 13 文字からなる。 この文字列がどのよ
       うに解釈されるかの詳細は crypt(3) を参照のこと。
(省略)

 これらのコマンドを実行することで、それぞれのセクションに対応するpasswdのマニュアルページを表示することができます。