1. 概要

コマンドラインインターフェイスで、特定のコマンドのドキュメントを見たい場合があります。

このクイックチュートリアルでは、manコマンドを使用してLinuxでコマンドの情報を取得する方法について説明します。

2. manページの構成と構造

man コマンドは、コマンドのユーザーマニュアルを表示するために使用されます。

通常、 man に与えられる引数は、プログラム、ユーティリティ、または関数の名前です。 したがって、これらの各引数に関連するマニュアルページが検索され、表示されます。

2.1. 番号付きセクション

一般に、システムのマニュアルページのコレクションは番号付きのセクションに分かれています。 これらのセクション番号と対応するページタイプは次のとおりです。

  1. 実行可能プログラムまたはコマンド
  2. システムコール(カーネルによって提供される関数)
  3. ライブラリ呼び出し(ライブラリによって提供される関数)
  4. 特別なファイル(通常は / dev にあります)
  5. ファイル形式と規則( etc / passwd などの構成ファイル)
  6. ゲーム(キャラクターベースのアプリケーションなど)
  7. その他(例 man (7))
  8. システム管理コマンド(通常はrootのみ)
  9. カーネルルーチン(非標準)

2.2. 各manページ内の名前付きセクション

各マニュアルページ内には、多くの名前付きセクションがあります。 デフォルトでは、これらには NAME SYNOPSIS CONFIGURATION DESCRIPTION OPTIONS EXITSTATUSが含まれます戻り値、およびエラー

さらに、マニュアルページには、 ENVIRONMENT FILES VERSIONS CONFORMING TO NOTES バグ作成者、および関連項目

3. 構文

それでは、manコマンド基本構文を見てみましょう。

$ man [option].. [command name]..

たとえば、 passwd コマンドに関する情報を取得するには、次のコマンドを使用できます。

$ man passwd

PASSWD(1)                          User utilities                       PASSWD(1)

NAME
       passwd - update user's authentication tokens

SYNOPSIS
       passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

DESCRIPTION
       The passwd utility is used to update user's authentication token(s).

       This task is achieved through calls to the Linux-PAM and Libuser API.  Essentially, it initializes itself as a "passwd" 
service with Linux-PAM and utilizes configured password modules to authenticate and then update a user's password.

3.1. マニュアルページでキーワードで検索

-kオプションを使用すると、すべてのマニュアルページでキーワードまたは正規表現に一致する結果を取得できます。

それでは、-kオプションで何が見つかるか見てみましょう。

$ man -k printf

asprintf (3) - print to allocated string
dprintf (3) - formatted output conversion
dprintf (3p) - print formatted output
fprintf (3) - formatted output conversion

ここでは、正規表現としてprintfに一致する返されるすべてのマニュアルページのリストが表示されます。

3.2. コマンドのすべてのセクションを順番に表示する

デフォルトモードでは、manコマンドは最も関連性の高いマニュアルページのみを表示します。 私たちは尋ねることができます -aオプションを使用して、一致するすべてのマニュアルページを順番に表示します。 このオプションを使用して、一致するすべてのマニュアルページを一覧表示する方法を見てみましょう。

$ man -a intro

--Man-- next: intro(2) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(3) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(4) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(6) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(7) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: intro(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

その結果、introコマンドに関連するすべてのマニュアルページが連続して表示されます。

3.3. 特定の番号のセクションを表示する

ご存知のように、マニュアルは複数のセクションに分かれています。 特定のコマンドのマニュアルの特定のセクションに到達するための引数としてセクション番号を渡すことができます。 例を見てみましょう— introコマンドのセクション2を調べます。

$ man 2 intro

INTRO(2)                                       Linux Programmer's Manual
              INTRO(2)

NAME
       intro - introduction to system calls

DESCRIPTION
       Section 2 of the manual describes the Linux system calls. A system call is an entry point into the Linux kernel. Usually, 
       system calls are not invoked directly:instead, most system calls have corresponding C library wrapper functions which 
       perform the steps required (e.g., trapping to kernel mode) in order to invoke the system call. 
       Thus, making a system call looks the same as invoking a normal library function.

3.4. コマンドのマニュアルページのファイルシステムの場所を見つける

さらに、-wオプションを使用して、ファイルシステム内のマニュアルページを見つけることができます。

$ man -w ping 

/usr/share/man/man8/ping.8.gz

上記のように、pingコマンドのマニュアルページのファイルシステムの場所を確認できます。

最後に、man自体を使用してmanコマンドについて読むことができます。

$ man man

4. 結論

このクイックチュートリアルでは、manコマンドの使用方法を見てきました。

最初に、 man コマンドの機能について説明し、次に手動セクション、ページタイプ、およびコマンド構文について説明しました。 その後、特定のセクションへの移動、キーワードによるフィルタリング、マニュアルのファイルシステムの場所の検索など、いくつかのトピックに触れました。

最後に、Linuxでの作業中にmanコマンドを効果的に使用する方法について説明しました。