Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

Linuxのmanコマンド完全ガイド:マニュアルページの見方と使い方【実例付き】

この記事では、LinuxをはじめとするUnix系OSにおけるmanコマンドの目的と使い方について詳しく解説します。

Linuxは非常にモジュール性の高いオペレーティングシステムです。中核となるOS本体(Linuxカーネル)と、それに機能を追加する多数のソフトウェアパッケージで構成されており、これらのパッケージはそれぞれ個別にメンテナンスされています。そのため、システムにインストールされるパッケージは、ユーザーが何をしたいかによって異なります(例えば、グラフィックデザイナーはお絵かきツールをインストールするでしょうし、小説を書く人はワープロソフトをインストールするでしょう)。

どのシステムもまったく同じということはないため、各パッケージは独自のドキュメントを提供しており、パッケージと一緒にインストールされます。これにより、コンピューターにインストールしたソフトウェアを使うために必要な情報が常に手元にあることが保証されます。このドキュメントこそが「マニュアルページ」であり、システムマニュアルの該当セクションに登録される仕組みです。

manコマンドは、システム上の任意のターミナルコマンドのユーザーマニュアルを表示します(開発者がマニュアルを用意している場合)。コマンドの正しい使い方を整理して示してくれるだけでなく、便利な使用例が含まれていることも多いのが特徴です。

manコマンドの構文

manコマンドの基本構文は以下の通りです。

man OPTIONS SECTION COMMAND

各要素の意味は次の通りです。

  • OPTIONS:後述の表からオプションを指定します
    • オプションを指定しない場合は、指定したコマンドのユーザーマニュアル全体が表示されます
  • SECTION:検索対象とするマニュアルのセクション番号を指定します
    • よく使われるセクションについては下記の表を参照してください
    • セクションを指定しない場合は、すべてのセクションから該当エントリが表示されます
  • COMMAND:マニュアルを表示したいコマンド名を指定します
    • 該当するマニュアルが見つからない場合は「No manual entry」と表示されます
  • デフォルトでは、lessコマンドを使ってマニュアルページの内容が表示されます
    • *** 表示中は矢印キーでスクロールし、Qキーを押すと終了できます!***

マニュアルのセクション一覧

コマンドによって、マニュアルページが登録されているセクションが異なります。主なセクションは以下の通りです。

セクション 内容
1 実行可能なプログラムやシェルコマンド
2 システムコール(カーネルが提供する関数)
3 ライブラリ呼び出し(プログラムライブラリ内の関数)
4 特殊ファイル(通常は/dev配下に存在)
5 ファイル形式と規約(例:/etc/passwd)
6 ゲーム
7 その他(マクロパッケージや規約など)。例:man(7)、groff(7)
8 システム管理コマンド(通常はroot専用)
9 カーネルルーチン[非標準]

セクションを明示的に指定すると、そのセクションに含まれるエントリのみが表示されます。

また、マニュアルページ自体も内部でセクション分けされており、一般的には NAME(名称)、SYNOPSIS(書式)、CONFIGURATION(設定)、DESCRIPTION(説明)、OPTIONS(オプション)、EXIT STATUS(終了ステータス)、RETURN VALUE(戻り値)、ERRORS(エラー)、ENVIRONMENT(環境変数)、FILES(関連ファイル)、VERSIONS(バージョン)、CONFORMING TO(準拠規格)、NOTES(注記)、BUGS(バグ)、EXAMPLE(例)、AUTHORS(作者)、SEE ALSO(関連項目) などに分割されています。

manコマンドの主なオプション

ここでは、manコマンドのマニュアルから引用した、特によく使われるオプションを紹介します。

オプション 説明
-a デフォルトでは、manは最適なマニュアルページを1つ表示すると終了します。このオプションを付けると、検索語に一致する名前を持つすべてのマニュアルページが順番に表示されます。
-f 利用可能な場合、マニュアルページからの短い説明を表示します。
-k マニュアルページの短い説明文をキーワードで検索し、一致したものをすべて表示します。
-i マニュアルページ検索時に大文字小文字を区別しません(デフォルト動作)。
-I マニュアルページ検索時に大文字小文字を区別します。
--wildcard シェル形式のワイルドカードを使用し、名前または説明の一部が引数に一致するすべてのページを表示します。
-P 出力に使用するページャーを指定します。デフォルトはlessで、lessが見つからない・実行できない場合はcatにフォールバックします。

そしてもちろん、manコマンド自身のマニュアルもmanコマンドで閲覧できます!次のコマンドを実行してみましょう。

man man

これで、完全なユーザーマニュアルと利用可能な全オプションの一覧を確認できます。

Linux manコマンドの実行例

特定のコマンドに関連するマニュアルページを表示するには、manに続けてコマンド名を入力します。

man less

上記のコマンドでは、lessコマンドのマニュアルが表示されます。ちなみに、このlessコマンドこそ、manページを画面に表示するために使われているツールです。

-fオプションを付けると、コマンドがどのセクションに存在するかと短い説明が表示されます。

man -f mv

上記ではmvコマンドを問い合わせており、実行結果は次のようになります。

mv(1)                    - move files

これは、mvコマンドがセクション1に存在し、ファイルを移動するコマンドであることを示しています。

コマンドのマニュアルページがどこに保存されているかを調べるには、-wオプションを使います。

man -w mv

実行すると、次のような出力が得られます。

/usr/share/man/man1/mv.1

-kオプションを使うと、すべてのマニュアル・すべてのセクションから、指定した文字列に一致するものを検索できます。

man -k mv

まとめ

manコマンドは本当に優れたツールです。オフライン環境でも、コマンドの使い方をさっと確認したいときにも頼りになる存在です。日常的なLinux操作の中でぜひ活用してみてください。

  1. LinuxとmacOSでfdコマンドを使ってファイルを素早く検索する方法

    fdは、従来のfindコマンドのシンプルな代替ツールです。簡潔な構文と短いコマンド体系を採用しており、入力の手間を大幅に減らせるのが特徴です。ただし、その簡潔さゆえに、初めて見たときには意味が分かりにくいという側面もあります。さらにfdは、標準のfindコマンドよりもパターンマッチングを高速に実行できる点も魅力です。この記事では、LinuxおよびmacOSでfdを使う方法を詳しく解説します。 Linuxへのfdのインストール fdは、デフォルトでインストールされているシステムは多くありません。お好みのパッケージマネージャーでダウンロード・インストールすれば、ターミナルからすぐに利用できるよう

  2. Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法

    Linuxのlsコマンドは、多くのユーザーが最初に使うことになる基本コマンドの一つです。この記事では、lsコマンドの基本的な使い方と、実務で頻繁に利用されるオプションについてわかりやすく解説します。 筆者が普段よく使うオプションの組み合わせは以下のとおりです。 ls -Zaltrh それでは、各オプションの意味をひとつずつ掘り下げながら、この組み合わせがなぜ便利なのかを説明していきます。 lsコマンドの基本構文 # ls [OPTION] [FILE] OPTIONS: [-a] 「.」または「..」で始まる隠しエントリを無視しない [-h] -lと併用した場合、サイズを人間が読みやすい形式で