GNU man -M2007年12月28日 15時23分43秒

FreeBSD には GNU 由来の man が入っている。そのため、今回は FreeBSD に限ったことではない。

GNU man には -M オプションがある。man man をやると出てくるのだが、パスを指定して man を表示したいときに使う。

-M オプションに付いては、これ以上詳しく書かれていないが、実は隠された事実がある。これだ。


% ls /usr/share/man
cat1            cat5            en.ISO8859-1    man2            man7
cat1aout        cat6            en.ISO8859-15   man3            man8
cat2            cat7            ja              man4            man9
cat3            cat8            man1            man5            whatis
cat4            cat9            man1aout        man6

例えば、XXX.1 というページ表示するときには、man1 以下のディレクトリを探すようになっている。そのため、

% man -M . XXX

とやっても表示できないのだ。

そのため、


% ln -s `pwd` man1
% man -M . XXX

等として、一時的にリンクでも作ってやらないと、man は XXX.1 を表示できない。

なお、Sun/Solaris に入っている man は GNU ではないが、似たようなオプションがある。こちらはディレクトリを必要としない。随分と昔の話だが、Sun の man を使って同じことをした後に、Linux で man -M をやったら、このことを知らずに表示するのに何時間も掛かった事がある。