Gentoo Logo

Gentoo Man ガイド

目次:

1.  はじめに

manプログラム

Linuxを使うなかで誰もが使ってきたものがあります。それがmanコマンドです。一方、manプログラム自身が構造的にかなり単純化されており、単純にページをスクロールする以上の機能が少しだけあるくらいです。このドキュメントがこれらの機能を理解するのに役立てば幸いです。

manの配置

Man ページは主に/usr/share/manディレクトリに置かれます。しかし、MANPATH 環境変数の場所に置かれていればmanを使うことができます。Gentooでは通常/etc/env.dMANPATH環境変数が指す先に置かれるでしょう。これらのディレクトリのなかに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

今のセクション番号がほぼスタンダードなものです。ただし、mannman#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 portagemake.confの構成に関連してman 5 portageman 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ページを見ることができます。



印刷

ページの更新日 2006年 6月 18日

この翻訳はすでにメンテナンスされていません。

要約: このガイドではmanを使ってmanページを操作する方法を説明します。

Chris White
Author

シンドウナオアキ
翻訳

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.