man ページ
関連記事
man ページ ("マニュアルページ"の略) は Arch Linux を含む、ほとんどの主要な UNIX ライクなオペレーティングシステムで最初からインストールされているドキュメントです。man ページを表示するには man
コマンドを使います。
man ページのカバーする範囲の如何を問わず、man ページは完結型のドキュメントとして作られており、必然的に、関連する話題を述べるときに他の man ページを参照するということが控えられています。このことはハイパーリンクを使用する info ファイルと対照的であり、GNU は info ファイルで伝統的な man ページ形式を置き換えようとしています。
目次
インストール
Arch Linux では、man-db が man を実装しており、man で使用されるデフォルトのページャーは less です。mandoc も使用できます。
man-pages は Linux と POSIX.1 の両方の man pages を提供します。([1] を参照)。
各種プロジェクトにより翻訳された man ページもあります:
- man-pages-cs チェコ語
- man-pages-de ドイツ語
- man-pages-es スペイン語
- man-pages-fr フランス語
- man-pages-it イタリア語
- man-pages-jaAUR 日本語
- man-pages-nl オランダ語
- man-pages-pl ポーランド語
- man-pages-pt_br ブラジルポルトガル語
- man-pages-ro ルーマニア語
- man-pages-ruAUR ロシア語
- man-pages-trAUR トルコ語
- man-pages-zh_cn 中国語簡体字
- man-pages-zh_tw 中国語繁体字
いくつかのアプリケーションを使用して、マニュアルページを表示できます:
- GNOME Help — Help viewer for GNOME. It can show man pages via
yelp man:<name>
or the undocumentedCtrl+L
keybinding from an existing window.
- KHelpCenter — Application to show KDE Applications' documentation. Man pages are in UNIX manual pages or by running
khelpcenter man:<name>
.
- Konqueror — KDE file manager and web browser. It can show man pages via
man:<name>
.
- xman — Provides a categorized look at man pages.
Man ページの表示
man ページを読むには、次を入力してください:
$ man page_name
マニュアルは複数のセクションに分類されています:
- 一般的なコマンド
- システムコール (カーネルによって提供されている関数)
- ライブラリコール (C ライブラリの関数)
- 特殊ファイル (通常は
/dev
以下に存在します) とドライバー - ファイルのフォーマットと規則
- ゲーム
- その他 (約束事など)
- システム管理コマンド (通常は root 権限を必要とします) とデーモン
基本的に Man ページはページの名前で呼ばれ、括弧で囲まれたセクション番号が後ろに付きます。man(1) と man(7) のように、同じ名前の man ページが存在することも時々あります。この場合は、man を呼び出すときにセクション番号と man ページの名前を指定します。例:
$ man 5 passwd
上記のコマンドを実行すると passwd
ユーティリティではなく、/etc/passwd
についての man ページが表示されます。
Or equivalently, the man page followed by the section number, separated by a period:
$ man passwd.5
マニュアルの検索
man
ユーティリティを使えば man ページを表示することはできますが、そもそも読みたいマニュアルページの名前を知らない場合に問題が起こります。幸いに、-k
または --apropos
オプションを使うことで、キーワードを指定してマニュアルページの説明文を検索することができます。
検索機能は専用のキャッシュを使っています。デフォルトでは、キャッシュが作成されていないために、何を検索しても該当するページは見つからないという結果になってしまいます。次を実行することでキャッシュを生成または更新することが可能です:
# mandb
新しい man ページをインストールしたら上のコマンドを実行するようにしてください。
キャッシュを作成したら検索をすることができます。例えば、"password" に関する man ページを検索するには:
$ man -k password
または:
$ man --apropos password
上記のコマンドは以下のように apropos
コマンドを実行するのと同じです:
$ apropos password
デフォルトでは、指定したキーワードは正規表現として解釈されます。
ページ全体でキーワードが検索されるように細かく検索して欲しい場合、-K
オプションを使います:
$ man -K password
ページ幅
man ページの幅は MANWIDTH
環境変数で制御できます。
ターミナルのカラム数が小さすぎる場合 (例: ウィンドウの幅が小さい場合)、間違ったところで改行されることがあります。man
を実行するときに MANWIDTH を設定することで読みやすくすることが可能です:
~/.bashrc
man() { local width=$(tput cols) [ $width -gt $MANWIDTH ] && width=$MANWIDTH env MANWIDTH=$width \ man "$@" }
ローカルの man ページを読む
標準のインターフェイスの代わりに、lynx や Firefox などのブラウザを使って man ページを見ることで info ページの利点 (ハイパーリンク) を得ることができます。
KDE ユーザーは次のようにして Konqueror で man ページを読めます:
man:<name>
他に、公式リポジトリには2つの選択肢があります:
1. xorg-xman は X で man ページをカテゴライズされた形で見ることができます。
2. GNOME のヘルプブラウザ yelp はさらに小奇麗な方法ですが依存パッケージが複数存在します。
ブラウザで表示できる HTML に変換する
mandoc
mandoc パッケージをインストールしてください。例えば free(1)
のページを変換するなら:
$ gunzip -c /usr/share/man/man1/free.1.gz | mandoc -Thtml -Ostyle=style.css 1> free.html
free.html
ファイルをお好きなブラウザで開いて下さい。
man2html
まず、公式リポジトリから man2html をインストールします。
そして、man ページを変換:
$ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
他の使い方として印刷しやすいように man2html
でプレーンテキストにすることもできます:
$ man free | man2html -bare > ~/free.txt
man -H
Arch のリポジトリに入っている man の GNU 実装には HTML で表示する機能が付いています:
$ man -H free
使用されるブラウザは BROWSER
環境変数によって決まります。-H
オプションにバイナリを渡すことで上書きできます。
roffit
AUR から roffitAUR をインストールしてください。
man ページを変換するには:
$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html
PDF に変換する
man ページは基本的に印刷ができるようになっています。man ページは troff で書かれており、troff はもともと組版言語だからです。ghostscript をインストールしていれば、man ページを PDF に変換するのはとても簡単に行えます: man -t <manpage> | ps2pdf - <pdf>
。どんな風になるかは google で画像検索 してみればわかります。これは万人向けとは言えないでしょう。
オンラインの Man ページ
man ページのオンラインデータベース:
- Arch Linux の man ページ (日本語訳) ArchWiki のman ページ のリンク先です。
- man7.org - Arch Linux の man-pages で使われています。
- manned.org の様々な Linux ディストリビューションや BSD などのマニュアルページ集
- linux.die.net
- man.cx
- Debian GNU/Linux の man ページ
- Ubuntu の manpage リポジトリ
- DragonFlyBSD マニュアルページ
- FreeBSD の man ページ
- NetBSD マニュアルページ
- OpenBSD マニュアルページ
- Plan 9 マニュアル — Volume 1
- Inferno マニュアル — Volume 1
- UNIX と Linux フォーラムの man ページリポジトリ
man-pages は POSIX.1 の man pages を提供していますが([2] を参照)、公式のオンラインリファレンスも存在することに注意してください。
There is also a comparison table.
特筆すべき man ページ
以下は読む価値があるページの部分的なリストであり、様々なことを深く理解するのに役立ちます。リファレンスとして役立つページもあります (ascii テーブルなど)。
- ascii(7)
- boot(7)
- charsets(7)
- chmod(1)
- credentials(7)
- fstab(5)
- hier(7)
- systemd(1)
- locale(1p), locale(5), locale(7)
- printf(3)
- proc(5)
- regex(7)
- signal(7)
- term(5), term(7)
- termcap(5)
- terminfo(5)
- utf-8(7)
他のページは、カテゴリ 7 (miscellaneous) ページ を見て下さい:
$ man -s 7 -k ".*"
Arch Linux 特有のページ:
- alpm-hooks(5)
- archlinux(7)
- libalpm(3)
- makepkg(8)
- makepkg.conf(5)
- makepkg-template(1)
- mkinitcpio(8)
- pacman(8)
- pacman.conf(5)
- pacman-conf(8)
- pacman-key(8)
参照
- man page - Gentoo Wiki - Gentoo wiki の記事
- Write The Fine Manual with pod2man
- History of UNIX Manpages