「Man ページ」の版間の差分
(ページの作成:「{{Lowercase title}} Category:システム管理 ar:Man Page en:Man Page ko:Man Page ru:Man Page zh-CN:Man Page '''man ページ''' ("マニュア...」) |
(Added Spanish Interlink) |
||
3行目: | 3行目: | ||
[[ar:Man Page]] |
[[ar:Man Page]] |
||
[[en:Man Page]] |
[[en:Man Page]] |
||
+ | [[es:Man Page]] |
||
[[ko:Man Page]] |
[[ko:Man Page]] |
||
[[ru:Man Page]] |
[[ru:Man Page]] |
2015年4月27日 (月) 02:05時点における版
man ページ ("マニュアルページ"の略) は Arch Linux を含む、ほとんどの主要な UNIX ライクなオペレーティングシステムで最初からインストールされているドキュメントです。man ページを表示するには man
コマンドを使います。
man ページのカバーする範囲の如何を問わず、man ページは完結型のドキュメントとして作られており、必然的に、関連する話題を述べるときに他の man ページを参照するということが控えられています。このことはハイパーリンクを使用する info ファイルと対象的であり、GNU は info ファイルで伝統的な man ページ形式を置き換えようとしています。
目次
Man ページの表示
man ページを読むには、次を入力してください:
$ man page_name
マニュアルは複数のセクションに分類されています:
- 一般的なコマンド
- システムコール (カーネルによって提供されている関数)
- ライブラリコール (C ライブラリの関数)
- 特殊ファイル (通常は
/dev
以下に存在します) とドライバー - ファイルのフォーマットと規則
- ゲーム
- その他 (約束事など)
- システム管理コマンド (通常は root 権限を必要とします) とデーモン
基本的に Man ページはページの名前で呼ばれ、括弧で囲まれたセクション番号が後ろに付きます。man(1) と man(7) のように、同じ名前の man ページが存在することも時々あります。この場合は、man を呼び出すときにセクション番号と man ページの名前を指定します。例:
$ man 5 passwd
上記のコマンドを実行すると passwd
ユーティリティではなく、/etc/passwd
についての man ページが表示されます。
whatis
コマンドを使用することで man ページの一行説明を表示できます。例えば、ls
の man ページセクションの簡単な説明を見るには、次を入力:
$ whatis ls
ls (1p) - list directory contents ls (1) - list directory contents
形式
全ての Man ページは標準の書式に従って書かれており、読みやすいようになっています。よく出てくるセクションは以下の通り:
- NAME - コマンドの名前、コマンドの使用目的について一行の説明。
- SYNOPSIS - コマンドが受け付けるオプションや引数のリスト、または関数が使用するパラメータやヘッダーファイル。
- DESCRIPTION - コマンドや関数の目的・動作に関する詳しい説明。
- EXAMPLES - 一般的な例。シンプルなコマンドからやや複雑なコマンドまで様々。
- OPTIONS - コマンドが受け付けるオプションの説明、何が変わるのか。
- EXIT STATUS - 様々な終了コードの意味。
- FILES - コマンドや関数に関連するファイル。
- BUGS - 解決が棚上げされているコマンドや関数の問題。いわゆる既知のバグ。
- SEE ALSO - 関連するコマンドや関数のリスト。
- AUTHOR, HISTORY, COPYRIGHT, LICENSE, WARRANTY - プログラムに関する情報、プログラムの履歴、利用条件、開発者。
マニュアルの検索
man
ユーティリティを使えば man ページを表示することはできますが、そもそも読みたいマニュアルページの名前を知らない場合に問題が起こります。幸いに、-k
または --apropos
オプションを使うことで、キーワードを指定してマニュアルページの説明文を検索することができます。
検索機能は専用のキャッシュを使っています。デフォルトでは、キャッシュが作成されていないために、何を検索しても該当するページは見つからないという結果になってしまいます。次を実行することでキャッシュを生成または更新することが可能です:
# mandb
新しい man ページをインストールしたら上のコマンドを実行するようにしてください。
キャッシュを作成したら検索をすることができます。例えば、"password" に関する man ページを検索するには:
$ man -k password
または:
$ man --apropos password
上記のコマンドは以下のように apropos
コマンドを実行するのと同じです:
$ apropos password
デフォルトでは、指定したキーワードは正規表現として解釈されます。
ページ全体でキーワードが検索されるように細かく検索して欲しい場合、-K
オプションを使います:
$ man -K password
man ページのカラー出力
man ページのカラー出力を有効にすることで見た目をよくして中身を理解しやすくすることが可能です。man ページのカラー出力を行う方法は2つ存在します: less
を使用する方法、または most
を使用する方法。
less を使う (推奨)
この方法には less
の方が most
よりも機能が豊富だということ、そして man ページを見る時のデフォルトになっているという利点があります。
シェルの設定ファイルに以下を追加してください。Bash の場合:
~/.bashrc
man() { env LESS_TERMCAP_mb=$'\E[01;31m' \ LESS_TERMCAP_md=$'\E[01;38;5;74m' \ LESS_TERMCAP_me=$'\E[0m' \ LESS_TERMCAP_se=$'\E[0m' \ LESS_TERMCAP_so=$'\E[38;5;246m' \ LESS_TERMCAP_ue=$'\E[0m' \ LESS_TERMCAP_us=$'\E[04;38;5;146m' \ man "$@" }
(bash や linux を再起動しないで) Man ページに変更を適用するには、次を実行:
# source ~/.bashrc
Fish の場合、基本的な設定は以下の通りです:
~/.config/fish/config.fish
set -xU LESS_TERMCAP_mb (printf "\e[01;31m") # begin blinking set -xU LESS_TERMCAP_md (printf "\e[01;31m") # begin bold set -xU LESS_TERMCAP_me (printf "\e[0m") # end mode set -xU LESS_TERMCAP_se (printf "\e[0m") # end standout-mode set -xU LESS_TERMCAP_so (printf "\e[01;44;33m") # begin standout-mode - info box set -xU LESS_TERMCAP_ue (printf "\e[0m") # end underline set -xU LESS_TERMCAP_us (printf "\e[01;32m") # begin underline
(fish や linux を再起動しないで) Man ページに変更を適用するには、次を実行:
# source ~/.config/fish/config.fish
色をカスタマイズするときは、Wikipedia:ANSI escape code を参照してください。
most を使う (非推奨)
The basic function of 'most' is similar to less
and more
, but it has a smaller feature set. Configuring most to use colors is easier than using less, but additional configuration is necessary to make most behave like less.
Install most using pacman:
# pacman -S most
Edit /etc/man_db.conf
, uncomment the pager definition and change it to:
DEFINE pager most -s
Test the new setup by typing:
$ man whatever_man_page
Modifying the color values requires editing ~/.mostrc
(creating the file if it is not present) or editing /etc/most.conf
for system-wide changes. Example ~/.mostrc
:
% Color settings color normal lightgray black color status yellow blue color underline yellow black color overstrike brightblue black
Another example showing keybindings similar to less
(jump to line is set to 'J'):
% less-like keybindings unsetkey "^K" unsetkey "g" unsetkey "G" unsetkey ":" setkey next_file ":n" setkey find_file ":e" setkey next_file ":p" setkey toggle_options ":o" setkey toggle_case ":c" setkey delete_file ":d" setkey exit ":q" setkey bob "g" setkey eob "G" setkey down "e" setkey down "E" setkey down "j" setkey down "^N" setkey up "y" setkey up "^Y" setkey up "k" setkey up "^P" setkey up "^K" setkey page_down "f" setkey page_down "^F" setkey page_up "b" setkey page_up "^B" setkey other_window "z" setkey other_window "w" setkey search_backward "?" setkey bob "p" setkey goto_mark "'" setkey find_file "E" setkey edit "v"
xterm や rxvt-unicode で man ページのカラー出力
- ソース: XFree resources file for XTerm program[リンク切れ 2013-09-10]
A quick way to add color to manual pages viewed on xterm/uxterm
or rxvt-unicode is to modify ~/.Xresources
.
xterm
*VT100.colorBDMode: true *VT100.colorBD: red *VT100.colorULMode: true *VT100.colorUL: cyan
which replaces the decorations with the colors. Also add:
*VT100.veryBoldColors: 6
if you want colors and decorations (bold or underline) at the same time. See man xterm
for a description of the veryBoldColors
resource.
rxvt-unicode
URxvt.colorIT: #87af5f URxvt.colorBD: #d7d7d7 URxvt.colorUL: #87afd7
Run:
$ xrdb -load ~/.Xresources
Launch a new xterm/uxterm
or rxvt-unicode
and you should see colorful man pages.
This combination puts colors to bold and underlined words in xterm/uxterm
or to bold, underlined, and italicized text in rxvt-unicode
. You can play with different combinations of these attributes (see the sources[リンク切れ 2013-09-10] of this item).
ローカルの man ページを読む
標準のインターフェイスの代わりに、lynx や Firefox などのブラウザを使って man ページを見ることで info ページの利点 (ハイパーリンク) を得ることができます。
KDE ユーザーは次のようにして Konqueror で man ページを読めます:
man:<name>
他に、公式リポジトリには2つの選択肢があります:
1. xorg-xman は X で man ページをカテゴライズされた形で見ることができます。
2. GNOME のヘルプブラウザ yelp はさらに小奇麗な方法ですが依存パッケージが複数存在します。
ブラウザで表示できる HTML に変換する
mdocml
AUR から mdocmlAUR をインストールします。例えば 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 で画像検索 してみればわかります。これは万人向けとは言えないでしょう。
以下の perl スクリプトは man ページを PDF に変換して、PDF を $HOME/.manpdf/
ディレクトリにキャッシュし、PDF ビューア (特に mupdf) を起動します。
Usage: manpdf [<section>] <manpage>
#!/usr/bin/perl use File::stat; $pdfdir = $ENV{"HOME"}."/.manpdf"; -d $pdfdir || mkdir $pdfdir || die "can't create $pdfdir"; $manpage = $ARGV[0]; chop($manpath = `man -w $manpage`); die if $?; $maninfo = stat($manpath) or die; $manpath =~ s@.*/man./(.*)(\.(gz|bz2))?$@$1@; $pdfpath = "$pdfdir/$manpath.pdf"; $pdftime = 0; if (-f $pdfpath) { $pdfinfo = stat($pdfpath) or die; $pdftime = $pdfinfo->mtime; } if (!-f $pdfpath || $maninfo->mtime > $pdftime) { system "man -t $manpage | ps2pdf -dPDFSETTINGS=/screen - $pdfpath"; } die if !-f $pdfpath; if (!fork) { open(STDOUT, "/dev/null"); open(STDERR, "/dev/null"); exec "mupdf", "-r", "96", $pdfpath; #exec "acroread", $pdfpath; }
オンラインの Man ページ
man ページのオンラインデータベース:
- Man7.org Upstream for Arch Linux's man-pages.
- Debian GNU/Linux man pages
- DragonFlyBSD manual pages
- FreeBSD Hypertext Man Pages
- Linux and Solaris 10 Man Pages
- Linux man pages at die.net
- The Linux man-pages project at kernel.org
- NetBSD manual pages
- Mac OS X Manual Pages
- On-line UNIX manual pages
- OpenBSD manual pages
- Plan 9 Manual — Volume 1
- Inferno Manual — Volume 1
- Storage Foundation Man Pages
- The UNIX and Linux Forums Man Page Repository
- Ubuntu Manpage Repository
特筆すべき man ページ
以下は読む価値があるページの部分的なリストであり、様々なことを深く理解するのに役立ちます。リファレンスとして役立つページもあります (ascii テーブルなど)。
- ascii(7)
- boot(7)
- charsets(7)
- chmod(1)
- credentials(7)
- fstab(5)
- hier(7)
- systemd(1)
- locale(1P)(5)(7)
- printf(3)
- proc(5)
- regex(7)
- signal(7)
- term(5)(7)
- termcap(5)
- terminfo(5)
- utf-8(7)
他のページは、カテゴリ 7 ページを見て下さい:
$ man -s 7 -k ".*"
Arch Linux 特有のページ:
- archlinux(7)
- mkinitcpio(8)
- pacman(8)
- pacman-key(8)
- pacman.conf(5)
参照
- 一般的な推奨事項 - Arch の一般的な推奨事項
- man page - Gentoo Wiki - Gentoo wiki の記事