Linuxの/usr/bin/dirバイナリは何ですか?

Linuxの/usr/bin/dirバイナリは何ですか?

/usr/bin/dir私はほとんどが/usr/bin/ls。私はこれがただへのソフトリンクであると思いましたがls、初めて驚いたのはこれが別のバイナリだということでした。

$ ls -la /usr/bin/dir /usr/bin/ls
-rwxr-xr-x 1 root root 125736 Feb  7  2022 /usr/bin/dir
-rwxr-xr-x 1 root root 125736 Feb  7  2022 /usr/bin/ls

2番目に驚くべきことは、これらのファイルが同じではないということです。

$ md5sum /usr/bin/dir /usr/bin/ls
997a2268f6d68d4b3f309dce17b39261  /usr/bin/dir
c12515ea5d425b198c1e44d6470588af  /usr/bin/ls

この場所は次のとおりです。

$ uname -a
Linux ip-172-31-63-158 6.2.0-1017-aws #17~22.04.1-Ubuntu SMP Fri Nov 17 21:19:35 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

ベストアンサー1

この違いはGNU Coreutilsのドキュメントで説明されています。残念ながら、ls&の共有マンページではdirこれを明確に説明していません。

10.2 dir: ディレクトリの内容を簡単に一覧表示

dirつまりls -C -b、基本ファイルは列にリストされ、垂直に並べ替えられ、特殊文字はバックスラッシュエスケープシーケンスとして表示されます。

バラよりls

オプション-C&のドキュメント-bもあります。

10.1.4 一般出力形式

-C
--format=vertical
他の情報なしでファイルを列ごとに一覧表示し、垂直に並べ替えます。ls標準出力が端末の場合はデフォルトです。これは常にプログラムのデフォルトですdir。 GNU は、ls可変幅の列を使用して、最小限の行にできるだけ多くのファイルを表示します。

10.1.6 ファイル名形式の設定

-b
--escape
--quoting-style=escape
ファイル名の非グラフィック文字は、Cで使用される文字と8進数のバックスラッシュシーケンスを使用して参照されます。

おすすめ記事