「Man ページ」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎形式: 削除)
(→‎インストール: ページャに変更)
 
(同じ利用者による、間の9版が非表示)
14行目: 14行目:
 
'''man ページ''' ("マニュアルページ"の略) は Arch Linux を含む、ほとんどの主要な UNIX ライクなオペレーティングシステムで最初からインストールされているドキュメントです。man ページを表示するには {{Ic|man}} コマンドを使います。
 
'''man ページ''' ("マニュアルページ"の略) は Arch Linux を含む、ほとんどの主要な UNIX ライクなオペレーティングシステムで最初からインストールされているドキュメントです。man ページを表示するには {{Ic|man}} コマンドを使います。
   
man ページのカバーする範囲の如何を問わず、man ページは完結型のドキュメントとして作られており、必然的に、関連する話題を述べるときに他の man ページを参照するということが控えられています。このことはハイパーリンクを使用する info ファイルと対的であり、GNU は info ファイルで伝統的な man ページ形式を置き換えようとしています。
+
man ページのカバーする範囲の如何を問わず、man ページは完結型のドキュメントとして作られており、必然的に、関連する話題を述べるときに他の man ページを参照するということが控えられています。このことはハイパーリンクを使用する info ファイルと対的であり、GNU は info ファイルで伝統的な man ページ形式を置き換えようとしています。
   
 
== インストール ==
 
== インストール ==
   
  +
Arch Linux では、{{Pkg|man-db}} が ''man'' を実装しており、''man'' で使用されるデフォルトのページャは [[Core utilities#Essentials|less]] です。{{Pkg|mandoc}} も使用できます。
{{Pkg|man-db}} パッケージに man コマンドが、{{Pkg|man-pages}} パッケージに基本的な man ページが入っています。いずれも {{Pkg|base}} [[メタパッケージ]]の依存関係として[[インストール]]されています。また、アプリケーションの man ページはそれぞれのパッケージの中に入っています。
 
  +
  +
{{Pkg|man-pages}} は Linux と POSIX.1 の両方の man pages を提供します。([https://www.kernel.org/doc/man-pages/download.html] を参照)。
   
 
各種プロジェクトにより翻訳された man ページもあります:
 
各種プロジェクトにより翻訳された man ページもあります:
65行目: 67行目:
 
上記のコマンドを実行すると {{Ic|passwd}} ユーティリティではなく、{{Ic|/etc/passwd}} についての man ページが表示されます。
 
上記のコマンドを実行すると {{Ic|passwd}} ユーティリティではなく、{{Ic|/etc/passwd}} についての man ページが表示されます。
   
  +
Or equivalently, the man page followed by the section number, separated by a period:
{{Ic|whatis}} コマンドを使用することで man ページの一行説明を表示できます。例えば、{{ic|ls}} の man ページセクションの簡単な説明を見るには、次を入力:
 
  +
{{hc|$ whatis ls|ls (1p) - list directory contents
 
  +
$ man passwd.5
ls (1) - list directory contents}}
 
   
 
== マニュアルの検索 ==
 
== マニュアルの検索 ==
108行目: 110行目:
   
 
== ローカルの man ページを読む ==
 
== ローカルの man ページを読む ==
標準のインターフェイスの代わりに、{{Pkg|lynx}} や [[Firefox]] などのブラウザを使って man ページを見ることで info ページの利点 (ハイパーリンク) を得ることができます。
 
   
  +
標準のインターフェイスの代わりに、{{Pkg|lynx}} や [[Firefox]] などのブラウザを使って man ページを見ることで info ページの利点 (ハイパーリンク) を得ることができます。代替手段としては、以下のようなものがあります。
[[KDE]] ユーザーは次のようにして Konqueror で man ページを読めます:
 
man:<name>
 
他に、[[公式リポジトリ]]には2つの選択肢があります:
 
 
1. {{pkg|xorg-xman}} は [[X]] で man ページをカテゴライズされた形で見ることができます。
 
 
2. [[GNOME]] のヘルプブラウザ {{pkg|yelp}} はさらに小奇麗な方法ですが依存パッケージが複数存在します。
 
   
 
=== ブラウザで表示できる HTML に変換する ===
 
=== ブラウザで表示できる HTML に変換する ===
154行目: 149行目:
 
== オンラインの Man ページ ==
 
== オンラインの Man ページ ==
 
man ページのオンラインデータベース:
 
man ページのオンラインデータベース:
* [http://man7.org/linux/man-pages/index.html man7.org] - Arch Linux の {{pkg|man-pages}} で使われています。
 
 
* [https://jlk.fjfi.cvut.cz/arch/manpages/ Arch Linux の man ページ] ([https://man.kusakata.com 日本語訳]) ArchWiki の[[テンプレート:Man|man ページ]] のリンク先です。
 
* [https://jlk.fjfi.cvut.cz/arch/manpages/ Arch Linux の man ページ] ([https://man.kusakata.com 日本語訳]) ArchWiki の[[テンプレート:Man|man ページ]] のリンク先です。
  +
* [http://man7.org/linux/man-pages/index.html man7.org] - Arch Linux の {{pkg|man-pages}} で使われています。
 
* [https://manned.org/ manned.org の様々な Linux ディストリビューションや BSD などのマニュアルページ集]
 
* [https://manned.org/ manned.org の様々な Linux ディストリビューションや BSD などのマニュアルページ集]
 
* [https://linux.die.net/man/ linux.die.net]
 
* [https://linux.die.net/man/ linux.die.net]
165行目: 160行目:
 
* [http://netbsd.gw.com/cgi-bin/man-cgi NetBSD マニュアルページ]
 
* [http://netbsd.gw.com/cgi-bin/man-cgi NetBSD マニュアルページ]
 
* [https://www.openbsd.org/cgi-bin/man.cgi OpenBSD マニュアルページ]
 
* [https://www.openbsd.org/cgi-bin/man.cgi OpenBSD マニュアルページ]
* [http://unixhelp.ed.ac.uk/alphabetical/index.html オンライン UNIX マニュアルページ]
 
 
* [http://man.cat-v.org/plan_9/ Plan 9 マニュアル — Volume 1]
 
* [http://man.cat-v.org/plan_9/ Plan 9 マニュアル — Volume 1]
 
* [http://man.cat-v.org/inferno/ Inferno マニュアル — Volume 1]
 
* [http://man.cat-v.org/inferno/ Inferno マニュアル — Volume 1]
 
* [https://www.unix.com/man-page/OpenSolaris/1/man/ UNIX と Linux フォーラムの man ページリポジトリ]
 
* [https://www.unix.com/man-page/OpenSolaris/1/man/ UNIX と Linux フォーラムの man ページリポジトリ]
   
  +
{{pkg|man-pages}} は POSIX.1 の man pages を提供していますが([https://www.kernel.org/doc/man-pages/download.html] を参照)、公式のオンラインリファレンスも存在することに注意してください。
{{Tip|DuckdDuckGo の [https://duckduckgo.com/bang.html !Bang] のひとつの {{ic|!archman}} により直接 Arch Linux の man ページを開けます。}}
 
  +
  +
* [https://pubs.opengroup.org/onlinepubs/9699919799/ POSIX.1-2017]
  +
  +
There is also a [https://gist.github.com/rixx/6cb5fa38f694009ad0bd50c275bb61f2 comparison table].
  +
 
{{Warning|ディストリビューションによっては、Arch が使っているのとは異なる man ページを使用していることがあります (パッチを適用していたり単純に古くなっているなど)。オンラインの man ページを使用するときはそのことに注意してください。}}
 
{{Warning|ディストリビューションによっては、Arch が使っているのとは異なる man ページを使用していることがあります (パッチを適用していたり単純に古くなっているなど)。オンラインの man ページを使用するときはそのことに注意してください。}}
   

2023年2月1日 (水) 11:51時点における最新版

関連記事

man ページ ("マニュアルページ"の略) は Arch Linux を含む、ほとんどの主要な UNIX ライクなオペレーティングシステムで最初からインストールされているドキュメントです。man ページを表示するには man コマンドを使います。

man ページのカバーする範囲の如何を問わず、man ページは完結型のドキュメントとして作られており、必然的に、関連する話題を述べるときに他の man ページを参照するということが控えられています。このことはハイパーリンクを使用する info ファイルと対照的であり、GNU は info ファイルで伝統的な man ページ形式を置き換えようとしています。

インストール

Arch Linux では、man-dbman を実装しており、man で使用されるデフォルトのページャは less です。mandoc も使用できます。

man-pages は Linux と POSIX.1 の両方の man pages を提供します。([1] を参照)。

各種プロジェクトにより翻訳された man ページもあります:

いくつかのアプリケーションを使用して、マニュアルページを表示できます:

  • GNOME Help — Help viewer for GNOME. It can show man pages via yelp man:<name> or the undocumented Ctrl+L keybinding from an existing window.
https://wiki.gnome.org/Apps/Yelp || yelp
  • KHelpCenter — Application to show KDE Applications' documentation. Man pages are in UNIX manual pages or by running khelpcenter man:<name>.
https://userbase.kde.org/KHelpCenter || khelpcenter
  • Konqueror — KDE file manager and web browser. It can show man pages via man:<name>.
https://konqueror.org/ || konqueror
  • xman — Provides a categorized look at man pages.
https://xorg.freedesktop.org/ || xorg-xman

Man ページの表示

man ページを読むには、次を入力してください:

$ man page_name

マニュアルは複数のセクションに分類されています:

  1. 一般的なコマンド
  2. システムコール (カーネルによって提供されている関数)
  3. ライブラリコール (C ライブラリの関数)
  4. 特殊ファイル (通常は /dev 以下に存在します) とドライバー
  5. ファイルのフォーマットと規則
  6. ゲーム
  7. その他 (約束事など)
  8. システム管理コマンド (通常は 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 ページを読む

標準のインターフェイスの代わりに、lynxFirefox などのブラウザを使って man ページを見ることで info ページの利点 (ハイパーリンク) を得ることができます。代替手段としては、以下のようなものがあります。

ブラウザで表示できる 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 で画像検索 してみればわかります。これは万人向けとは言えないでしょう。

ノート: 基本的にフォントは決まったサイズの Times に制限されています。ハイパーリンクは存在しません。man ページによってはターミナルでの表示に特化されていることがあり、PS や PDF のような形だと上手くいかないことがあります。

オンラインの Man ページ

man ページのオンラインデータベース:

man-pages は POSIX.1 の man pages を提供していますが([2] を参照)、公式のオンラインリファレンスも存在することに注意してください。

There is also a comparison table.

警告: ディストリビューションによっては、Arch が使っているのとは異なる man ページを使用していることがあります (パッチを適用していたり単純に古くなっているなど)。オンラインの man ページを使用するときはそのことに注意してください。

特筆すべき man ページ

以下は読む価値があるページの部分的なリストであり、様々なことを深く理解するのに役立ちます。リファレンスとして役立つページもあります (ascii テーブルなど)。

他のページは、カテゴリ 7 (miscellaneous) ページ を見て下さい:

$ man -s 7 -k ".*" 

Arch Linux 特有のページ:

参照