Gentoo Man ガイド
1.
はじめに
manプログラム
Linuxを使うなかで誰もが使ってきたものがあります。それがmanコマンドです。一方、manプログラム自身が構造的にかなり単純化されており、単純にページをスクロールする以上の機能が少しだけあるくらいです。このドキュメントがこれらの機能を理解するのに役立てば幸いです。
manの配置
Man ページは主に/usr/share/manディレクトリに置かれます。しかし、MANPATH 環境変数の場所に置かれていればmanを使うことができます。Gentooでは通常/etc/env.dのMANPATH環境変数が指す先に置かれるでしょう。これらのディレクトリのなかにmanX(Xはセクション番号)に対応するいくつかのフォルダがあります。たとえば、一般的なmanの配置は次のようになるでしょう:
コード表示 1.1: 一般的なmanの構造 |
$ ls /usr/share/man | grep man
man0p
man1
man1p
man2
man3
man3p
man4
man5
man6
man7
man8
man9
mann
|
今のセクション番号がほぼスタンダードなものです。ただし、mann と man#p フォルダがあることに注意してください。つぎの表は先のmanページディレクトリと対応する内容についての一覧です:
| manディレクトリ |
説明 |
| man0p |
名前につくpはPOSIXを意味しています。このディレクトリのManページはさまざまなPOSIXヘッダファイルについての説明です。 |
| man1 |
このセクションは一般的なコマンドに関するものです。ほとんどのプログラムはそれらのmanをここに収めるので、このセクションがもっとも大きくなりがちです。 |
| man1p |
このセクションは1で説明されているコマンドのPOSIXバージョンの説明になります。基本的なコマンドだけが説明されるので、man1よりも小さくなります。 |
| man2 |
このセクションはLinuxカーネルシステムコールに関する説明です。 |
| man3 |
このセクションは標準Cライブラリ関数に関する説明です。 |
| man4 |
このセクションはスペシャルデバイスに関する説明です。これらのデバイスは一般的にはカーネルにより異なりますが、Xorg-X11についてはここに項目があります。 |
| man5 |
このセクションでは特定のファイルの構造とプログラムがそれをどう使うかという両方を説明します。このドキュメントを読んでいる方々はportageのファイル構成の解説やman 5 portageやmake.confの構成に関連してman 5 portageやman 5 make.conf に馴染みがあるかもしれません。 |
| man6 |
このセクションはゲームやその他の特別なおもちゃを紹介しています。 |
| man7 |
このセクションは規格やその他の項目について説明します。この規格には文字セットやSQL構文、ISO規格、正規表現構文などが含まれることがあります。 |
| man8 |
このセクションでは管理者向けのコマンド(通常はrootユーザーにより実行されるもの)について説明します。 |
| man9 |
このセクションは幾分量がすくないですが、カーネルのさまざまな部分に関する文書が収められています。 |
| mann |
このセクションはおもにTcl/Tkにより使われます。n は新しい(new)の意味です。 |
このリストは広範囲にわたる詳細なものではないですが、ほとんどの人が興味をもつmanページについてはカバーしています。また、あるセクションがどういったものなのかは、このテーブルを見るように簡単にわかるとおもいます。次の章ではこの配置を詳しくみるためにmanの使い方をみてみましょう。
2.
manを利用する
manの配置を見渡す
manレイアウトを理解したところで、いくつかのコマンドについてみてみましょう。ときおり必要なmanページを絞り込む必要があります。まず初めに、セクションでひきます。セクションの説明を知るためには一度man section introを使ってみてください。つぎのようになります:
コード表示 2.1: セクション説明にman intoroを使う |
$ man 3 intro
INTRO(3) Linux Programmer's Manual INTRO(3)
NAME
intro - Introduction to library functions
DESCRIPTION
This chapter describes all library functions excluding the library
functions described in chapter 2, which implement system calls.
There are various function groups which can be identified by a
letter which is appended to the chapter number:
....
|
残念ながら、常にこのようにきれいにうごくとは限りません。しかし、幸いなことに複数回答を返す別な検索コマンドが用意されています (複数回答とはライブラリとシステムコマンドが同じ名前をもつような場合です)これを行うには、-K 引数を次のように使います:
コード表示 2.2: 文字列検索をするためにman -Kを使う |
$ man -K sleep
/usr/share/man/man0p/time.h.0p.gz?[ynq] n
/usr/share/man/man0p/unistd.h.0p.gz?[ynq] n
/usr/share/man/man2/alarm.2.gz?[ynq] n
/usr/share/man/man2/pause.2.gz?[ynq] n
/usr/share/man/man2/futex.2.gz?[ynq] n
/usr/share/man/man2/nanosleep.2.gz?[ynq] y
/usr/share/man/man2/semop.2.gz?[ynq] q
|
ときどき出力がもっと大きくなってしまうことがあります。そういった場合は、より明確なキーワードで絞り込めばよいでしょう。manページがどこにあるか分かったところで、次のセクションではmanページの見方にうつりましょう。
manページの見方
manページを見るには二つのやり方があります。一つはman [man page
name]です。二つ目のやり方はman [section] [man page name]です。bc を例にとってみましょう。bcについて最初にでてきたページを見ることができます(おそらくはセクション1でしょう。なぜならbcに関するmanページが含まれる最初のセクションだからです):
コード表示 2.3: デフォルトのmanページを見る |
$ man bc
bc(1) bc(1)
NAME
bc - An arbitrary precision calculator language
...
|
それでは、POSIXバージョンが必要な場合はどうすればいいでしょう。その場合は二つ目の形式をとることができます:
コード表示 2.4: セクションでmanページを特定して見る |
$ man 1p bc
BC(P) POSIX Programmer's Manual BC(P)
NAME
bc - arbitrary-precision arithmetic language
...
|
これでmanページが表示されました。manページがでましたので、実際に使ってみましょう。つぎのセクションでは操作と検索についてみてみます。
manページの操作と検索
manページの操作方法は非常に簡単です。上下ボタンを使って行ごとに上下に移動します。ページごとに移動するには、ページアップ、ページダウンキー使います。ここでこれらの操作方法の説明の前提として、環境変数PAGERがデフォルトページャーのlessを使うよう設定されていることに注意してください。Less には他にもいくつか操作コマンドがありますが、たいていは方向キーで十分でしょう:
コード表示 2.5: less の補足的な操作キー |
e ^E j ^N CR * 1行進む(または N 行)
y ^Y k ^K ^P * 一行戻る (または N 行)
f ^F ^V SPACE * 一ウィンドウ分素進む(または N 行)
b ^B ESC-v * 1ウィンドウ分戻る(または N 行)
z * 1ウィンドウ分進む (かつウィンドウをNにセットする)
w * 1ウィンドウ分戻る(かつウィンドウをNにセットする)
ESC-SPACE * 1ウインドウ分進むが、ファイルの末尾で停止しない
d ^D * ウィンドウの半分だけ進む(かつウィンドウの半分をNにセットする)
u ^U * ウィンドウの半分だけ戻る(かつウィンドウの半分をNにセットする)
ESC-) 右方向キー * スクリーンの半分(またはN文字分)右にずれる
ESC-( 左方向キー * 右にスクリーンの半分(またはN文字分)左にずれる
F tail -fのようにずっと進みつづける |
一方で検索はもうすこし面白いです。もっとも基本的な二つの検索は
/パターン と ?パターンです。前者が文末に向かって検索し、後者が文頭に向かって検索します。パターンは正規表現でman 7 regexで説明されています。emeregeの-Dオプションを例にとってみましょう。まず初めにemergeのmanページを開きます:
コード表示 2.6: emergeのmanページを開く |
$ man emerge
|
つぎにスクリーンで/と押して、文末に向かって検索するための入力プロンプトを表示し、検索パターンを入力します:
コード表示 2.7: 文末に向かっての検索プロンプトを表示する |
gracefully handles updating installed packages to newer releases as well.
It handles both source and binary packages, and it can be used to create
binary packages for distribution.
EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES
/\-D
|
注意:
\は-記号をエスケープするためのもので、通常正規表現の一部として使われます。 |
これでmanページが検索され、見つかった項目がフォーカスされます:
コード表示 2.8: 文末に向かっての検索結果 |
--deep (-D)
When used in conjunction with --update, this flag forces emerge to consider the entire
dependency tree of packages, instead of checking only the immediate dependencies of
the packages. As an example, this catches updates in libraries that are not directly
listed in the dependencies of a package.
|
もし誤って検索結果にヒットしてしまい、同じ結果に対して検索を続けたい場合は、単純に/キーを再度押して、エンターを押してください(つまり、パターンを入力しないということ)。これで最後に使われたパターンをデフォルトにした検索になります。現在、いくつかのmanページではオプションが記載され、そのあとに説明がされています。man 5 portagemanページを例にとってみましょう。使われているファイルが記載され、その使い方が説明されます。文末に向けて数回検索を繰りかえして結果を得るかもしれませんが、二つ目の検索方法の文頭への逆方向検索を使って、これをもっと楽に行うことができます。package.unmaskについての説明を見つけるためにこの方法をつかってみましょう。まず、man 5 portageを開きます:
コード表示 2.9: man 5 portage manページを開く |
$ man 5 portage
|
SHIFT+gを押してみましょう。これでページの最後に移動します:
コード表示 2.10: SHIFT+g の後manページの最後に |
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
lines 418-442/442 (END)
|
ここで、逆方向検索オプションの?patternに検索パターンを入力してみましょう。まず、?キーを押し、プロンプトを表示し、検索語であるpackage.unmaskを入力します。
コード表示 2.11: 検索内容を決める |
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
?package.unmask
|
検索結果を表示するためにエンターを押します:
コード表示 2.12: 検索結果 |
package.unmask
Just like package.mask above, except here you list packages you want to unmask.
Useful for overriding the global package.mask file (see below). Note that
this does not override packages that are masked via KEYWORDS.
...
|
これで検索が完了します!/と同じように?で検索パターンをつけないことで、最後のパターンが検索に使われます。
おわりに
これでmanガイドの最後です。manページを操作するのに役立ち、そしてより経験のあるユーザーにはちょっとした新しいこつとなれば幸いです。man ページを操作するのに別な方法を好む方には、次のようなものがあります:
- app-text/man2html - manページをhtmlに変換してくれるプログラム
- app-text/tkman - tkベースのmanページブラウザ
また、KDE WebブラウザKonquerorはアドレスバーのなかでman:構文を使うことでmanページを見ることができます。
このドキュメントの内容は、他のものが明示されない限りは、
CC-BY-SA-2.5ライセンスです。
Gentoo Name and Logo Usage Guidelines (日本語訳)が適用されます。
|