私が見ているマニュアルページが正しいかどうかはどうすればわかりますか?

私が見ているマニュアルページが正しいかどうかはどうすればわかりますか?

例えば、

[fakename]$ type echo
echo is a shell builtin

しかし、man echo私はGNU coreutilsのバージョンを受け取りましたecho。私が見ているマニュアルページが正しいかどうか(つまり、直接呼び出すことで取得できるユーティリティ)を知る最も簡単な方法は何ですか?

ベストアンサー1

あなたは本当に知りません。マニュアルページ以上の知識がなければ。

echo(and printf、and、...)の場合、通常はtestシェルが組み込まれているので、それを知ってシェルのドキュメントを読む必要があります。 (そしてecho実装ごとに異なることが知られています。printf代わりに使用.)

ほとんどの(すべてではありませんが)シェルでは、たとえばwill printを使用して何かが組み込まれていることを確認できます。 (type commandtype echoecho is a shell builtintypePOSIXで指定しかし、例えばPOSIXyではありませんが、サポートされています。 )Bashでは、次のように読み取ることができますman bashオンライン文書、または使用組み込みコマンドhelp(これはBashに固有のものであり、これが存在することを知る必要があります)。

命令があってもいいえ組み込みコマンドには、同じ名前の複数のコマンドがあります。renameこれが有名な例です(参照:Debian / Ubuntuの名前変更ユーティリティがCentOSなどの他のディストリビューションの名前変更ユーティリティと異なるのはなぜですか?)。オペレーティングシステムには、Debianなどの実際にインストールされているユーティリティの正しいマニュアルページが必要です。「代替」システムコマンド置換が変更されると、対応するマニュアルページも更新されます。しかし、もしあなたが読むならオンラインマニュアルページ、この点を知っておく必要があります。

--version多くのユーティリティには、コマンドがどの実装であるかを示すコマンドラインオプションがあります。 (ただし、ほとんどすべてのユーティリティにこの機能があるわけではありません。もともとはGNUismだったと思いますので、GNUユーティリティとカスタムコピーに発生したユーティリティにはこの機能があります。rename

debian$ rename --version
/usr/bin/rename using File::Rename version 0.20
centos$ rename --version
rename (util-linux-ng 2.17.2)

これに加えて、システムには、ユーティリティの動作を変更するためによく使用されるユーティリティと同じ名前のエイリアスまたは機能があります。この場合、マニュアルページに提供されているデフォルト値が適用されない場合があります。のエイリアスは、またはに追加されたlsエイリアスと同様に一般的です。しかし、エイリアスなのか関数なのかを教えてくれます。-irmmvtype foofoo

おすすめ記事