UnixManualを書く[lifehack]
はい、皆様こんにちは。
さて、本日の記事はといいますと。
"man"を書こうということです。
#jmanインストールしたときに文字コードで一悶着。
そもそも、manって何者やって所からなんですが
manって言うのは、マニュアルです。
ターミナルで
$man <コマンド名>
と、打ち込むと”Manual”が見れます。
例えばかの有名な”ls”コマンドも
$man ls
と打てば出てきます。
*1
$man man
とうつと”man”のManualが出てきます。
...当然?
さて、manを書くには何か特別なツールが必要なんでしょうか?
答えは、NOです。
書式に従ってさえすれば、テキストエディタでmanをかけます。
一番てっとり早い方法としては
Manualファイルを見て勉強するといったことでしょうか。
ちなみにmanファイルの在り処は
$less /etc/man.conf
で”MANPATH”という項目を探せば見れます。
さらにここにホームディレクトリ
/Users/hoge/man
などを追加すれば、MANPATHを通すことが出来ます。
僕の場合は、Macなので
/usr/share/manにmanのファイルがおいてあります。
さらに、manには、種類があって
番号 | 説明 |
1 | コマンド(プログラム) |
2 | システムコール |
3 | ライブラリ関数 |
4 | /dev以下のスペシャルファイル |
5 | ファイルのフォーマット |
6 | ゲーム |
7 | その他、仕様や慣習など様々な事 |
8 | システム管理のコマンド |
1-8までManualが存在しています。
ここで参照すべきなのは、man(1)なので
$cd /usr/share/man/man1
ディレクトリ移動して
Manualの場所まで行きます。
そこで即座にマニュアルファイルをみたいでしょうけど
たいていは、単なるテキストファイルでストレージの容量を食わせないために
.gzで圧縮しています。
そのまま”less”を使ってもバイナリファイルで見れないので
$gzcat
$gzcat ls.1.gz
として、lsのManualがどのような書き方をされて居るか見えると思います。
nroffというマクロ言語の書式に従って書かれており
manを実行すると、nroffを呼び出し、整形した形でlessされます。
*2
つまり、ここからが大事なところで
書式を覚えなければいけないということです。
書式を覚えてmanを書いて
MANPATHの通っている場所に保存します。
ここで注意事項なんですが
単にMANPATH以下にファイル追加すればいいだけでなく
├── man
│ ├── man1
│ ├── man2
│ ├── man3
│ ├── man4
│ ├── man5
│ ├── man6
│ ├── man7
│ ├── man8
│ ├── man9
こんなディレクトリ構造にして
コマンドのmanであればman1以下に
”hogehoge.1”というファイル名で保存しなければなりません。
*3
書式等は、”nroff 書式”などで検索して観てくださいませ。
macで日本語manを読みたい時にjmanなんてものがあります
http://www.fan.gr.jp/~sakai/jman.html
ここ参照。
さらに、日本語のmanは
http://sourceforge.jp/projects/linuxjm/
ここにあるので、ダウンロードして/jman以下に展開すればいいと。
こっちだった
http://linuxjm.sourceforge.jp/
こんな感じ。
ではでは