man – マニュアルページを表示する

検索・フィルタ
スポンサーリンク

man はコマンドやシステムコール、設定ファイルなどのマニュアル(manページ)を表示するコマンドです。
オプションや書式を素早く確認したいときに最も基本的な参照手段です。
実務では「正しいオプションの確認」「設定ファイルの書式確認」「関連コマンドの探索(-k)」に頻用します。

構文(Syntax)

man [OPTION...] [SECTION] NAME...
  • SECTION は 1(ユーザーコマンド)、2(システムコール)、3(ライブラリ関数)…などの区分を指定します。
  • 複数の NAME をスペース区切りで指定できます。

主なオプション一覧

オプション説明使用例
-s SECTION探索するセクションを指定man -s 5 crontab
-S LIST検索順セクションをコロン区切りで指定(実装依存、例: man-db)man -S 2:3 open
-a一致する全てのページを順に表示man -a printf
-k KEYWORDキーワード検索(apropos 相当)man -k ssh key
-K STRINGすべてのmanページ本文を全文検索(遅い)man -K "EnvironmentFile"
-f NAME要約表示(whatis 相当)man -f tar
-w実際に表示されるmanファイルのパスを表示man -w bash
-l FILE...ローカルのファイル(*.1 など)をmanとして表示man -l ./mytool.1
-M PATH参照するmanパスを上書き(MANPATH 相当)man -M /opt/mans open
-P PAGER使用するページャを指定man -P "less -R" grep
-E ENC入力エンコーディング指定(実装依存)man -E UTF-8 locale
-L LOCALE言語・ロケールを指定(実装依存)man -L ja_JP.UTF-8 ls
-H BROWSERHTML出力をブラウザで開く(man-db)man -H firefox printf
--path検索パス(MANPATH)を表示man --path
--help, --versionヘルプ、バージョン表示man --help

代表的なセクション例: 1(ユーザーコマンド), 2(システムコール), 3(ライブラリ関数), 4(デバイス/特別ファイル), 5(ファイル形式/設定), 7(概念/規約), 8(管理コマンド)

実行例

基本:コマンドのマニュアルを開く

説明: ls の使い方を確認します(終了は q)。
コマンド:

man ls

出力例(先頭抜粋):

LS(1)                     User Commands                     LS(1)
NAME
       ls - list directory contents
...

セクションを指定して同名エントリを選ぶ

説明: open はセクション 2(システムコール)と 3(ライブラリ)に存在します。
コマンド:

man 2 open       # もしくは man -s 2 open

出力例(先頭抜粋):

OPEN(2)                  System Calls Manual                  OPEN(2)
NAME
       open, openat, openat2 - open and possibly create a file
...

キーワード検索で関連コマンドを探す(apropos 相当)

説明: cron に関連するmanページの要約を一覧します。
コマンド:

man -k cron | head

出力例(例):

crond (8)            - daemon to execute scheduled commands (Vixie Cron)
crontab (1)          - maintain crontab files for individual users
crontab (5)          - tables for driving cron
...

すべての一致ページを順に読む

説明: 同名ページが複数あるとき、-a で順に表示できます。
コマンド:

man -a printf

q で抜けると次の候補が表示されます)

エラー例:存在しないエントリ

説明: 存在しない名前を指定するとエラーになります。
コマンド:

man nosuchcmd

出力例:

No manual entry for nosuchcmd

関連コマンド

  • apropos : キーワードから関連manページを検索(man -k 相当)。
  • whatis : 名前の要約(1行説明)を表示(man -f 相当)。
  • info : GNU系の詳細ドキュメント閲覧。man より詳しいことがある。
  • less : man の既定ページャ。検索(/pattern)や移動が可能。
  • tldr : 非公式の簡略チートシート集(別途インストール)。

備考

  • 実装差分: Linux では主に man-db、BSD・macOS では mandoc 系が使われます。オプション(特に -K, -H, -S など)は実装により有無や挙動が異なります。
  • セクション順序: 既定の探索順はディストリや環境により異なります。-s/-SMANSECT で制御可能な実装があります。
  • ページャと表示: manMANPAGERPAGER → 既定(多くは less -isR)の順でページャを選びます。カラー出力を維持したい場合は -P "less -R" を指定。
  • 検索パス: MANPATH で探索パスを上書き可能。追加パッケージのmanを読む場合は -M /path が手早いです。
  • フォーマッタ: 出力整形に groff を利用します。-Tutf8-Tpdf(実装依存)で別デバイス出力が可能な場合があります。
  • 最小環境: コンテナや最小インストールでは manman-pages が入っていないことがあります。必要なら man-db/man-pages のパッケージを導入してください。
  • 権限: 閲覧のみのため sudo は不要です。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント