サポートページ
補足情報
P.144 Unixコマンドライン探検隊 第1回の補足情報
PAGER(ページャー)
manは、標準で対象のmanページをコンソール画面に出力します。コンソール画面1ページでは表示できない内容も多いので、ページャーという外部のコマンドを通して出力することで、1画面に1ページがちょうどおさまるように表示しています。
| 
<STEP UP!> manが使うページャーは、環境変数PAGERかMANPAGERで指定してあるプログラムが使われます。もしくは、“-P”オプションで明示的にページャープログラムを指定することもできます。  | 
 | 
ページャーは、ほとんどの場合lessかmoreが使われます。lessコマンドは、moreの発展形(moreに対する洒落のネーミング)で、エディタの“vi”コマンドライクな操作によって、ページの前後移動、行単位での移動、検索などができます。
OS Xでは、moreというコマンドは存在していますが、中身はlessになっているようです。
| less, moreの簡単な使い方(画面下に“:”が表示されている状態で、次のコマンドなどが有効です) | |
|---|---|
| q | ページャーをぬける | 
| f | 1ページ先に進む | 
| b | 1ページ戻る | 
| j | 1行進む | 
| k | 1行戻る | 
| / | 続けてキーワードを入力して前方検索する | 
| ? | 続けてキーワードを入力して後方検索する | 
| Ctrl+G | 全体での現在位置などの情報を最下段に表示する | 
| h | HELPを表示する | 
manページのある場所
さて、manページ(元データ)はどこにあるのでしょうか。プログラムの中にハードコードされているのでしょうか。そんなはずはないですよね。
manページは、OS XやLinuxでは、
/usr/share/man、/usr/local/share/manに格納されています。lsコマンドで、ディレクトリの中を覗いてみます。
| Ubuntuでの例 | 
|---|
 | 
man1〜man8が英語のmanページで、それぞれ1〜8セクションが分類されて収納されているディレクトリです。jaなどのほかのディレクトリは、各言語(ローケール)に対応した言語に翻訳されたmanページが、同様(たとえばja/man1〜ja/man8)に格納されています。
個々のmanページは、たとえばlsであれば“コマンド名.セクション[.gz]”という名称のファイルは、
ls.1.gz → 圧縮された状態
もしくは、
ls.1 → 非圧縮の状態
で存在しています。
Linux系の環境では、これらのディレクトリには圧縮されたものが入っていて、ディスクスペースを節約しています。
| 
<STEP UP!> manページのファイルは、groffというマークアップランゲージを使った文書整形ツールの形式です。groffは“roff”(roffの名前は、Run OFFから)コマンドファミリーのフロントエンドプログラムで、manページはそのファミリーの中でも“nroff -manマクロ形式”です(nroffは、現在ではshellスクリプトになっていて、groffを内部から呼び出しています)。 manコマンドを使うのと同様に、nrofffを使って  | 
| Linux | 
|---|
 | 
| OS X | 
 | 
| 
とすれば、整形された状態で表示できます。 | 
日本語のページはどこに?
日本語のmanページがある場合は、通常日本語のロケールjaにに対応した/usr/share/man/ja、/usr/local/share/man/jaディレクトリに入っているはずです。
現在のロケールが何になっているかは、環境変数LANGを確認しましょう。
 | 
であれば、日本語がデフォルトです。en_US.UTF-8であれば、英語(米国)です。日本語になっていなくても、次のように環境変数を設定して、日本語環境にすることができます。
 | 
この場合には、jaディレクトリにmanページのファイルがなければ、デフォルト(通常英語)のページが表示されます。jaディレクトリがあっても、すべてのマニュアルが翻訳されているわけではありませんので、ページによって日本語であったり英語になることもあります。
いちいち環境変数を変更してしまうと、後に実行するコマンドのロケールへも影響してしまいますので、次のようにすれば、manの実行時だけロケールを変更できます。
| 英語(システムデフォルトとして指定した例) | 
|---|
 | 
| 日本語 | 
|---|
 | 
| 
<STEP UP!> 日本語のmanページがインストールされていない場合、次の方法で簡単に導入できるかもしれません。root権限か、sudoersに利用者が登録されている必要があります。  | 
| Ubuntu | 
|---|
 | 
| CentOS | 
 | 
| OS X | 
| 
OSXには、日本語のmanページは標準では入っていません。日本語のマニュアルを使えるようにするには、日本語に対応したgroffをインストールし、日本語のmanページをインストール(OS XはFreeBSDベースなので、http:// | 
お詫びと訂正(正誤表)
本誌の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。
P.36 「量指定子:0個または1個 ?、=」の正規表現例
| 誤 | 
 | 
|---|---|
| 正 | 
 | 
| 誤 | 
 | 
|---|---|
| 正 | 
 |