私のホストコンピュータはmacOS 14 Sonomaを実行していますが、ssh
Ubuntuサーバーを頻繁に使用しています。最近、私はman
これらのプラットフォームのプログラム間で奇妙な違いを見つけました。
Ubuntuでは、man
左下に便利な「ヒント」が表示されます。
--prompt
これはoptions-resultを使用してman --prompt "hey unix stackexchange!" man
設定できます。
しかし、macOSではプロンプトはありません。
最初は別のバージョンの.Printing man
on Ubuntuを使用していると思いましたが、macOSにはこのオプションはありません。man --version
man 2.11.2
$ man --version
/usr/bin/man: illegal option -- -
Usage:
man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect]
[-m arch[:machine]] [-p [eprtv]] [mansect] page [...]
man -f page [...] -- Emulates whatis(1)
man -k page [...] -- Emulates apropos(1
man
その後、実行可能ファイルが実際に何であるかを確認することにしました。結果は私を驚かせました。
Ubuntuから:
$ file $(which man)
/usr/bin/man: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=93e22c77b20c329ec51dad530c40fd0d64fc696f, for GNU/Linux 3.2.0, stripped
macOSの場合:
$ file $(which man)
/usr/bin/man: POSIX shell script text executable, ASCII text
私の質問は次のとおりです
man
Ubuntu(そしておそらくDebianや他の多くのオペレーティングシステム)はなぜmacOSとは違うのですかman
?man
macOSでより包括的な機能を使用するにはどうすればよいですか?
答え1
man
ほとんどのLinuxディストリビューションの基本バージョンは次のとおりです。人データベースman
、これはmacOSのデフォルトバージョンとは大きく異なります。 macOS バージョンは BSD バージョンに基づくことができます。
Homebrew または MacPorts を使用して macOS に man-db をインストールできます。
sudo port install man-db