dir
とls
のmanページを比較したところ、まったく同じように見えます。どちらもGNU coreutilsの一部であり、「ディレクトリの内容を一覧表示」します。
これまでに見た唯一の違いは、dir
は出力を色付けしないことです。
では、なぜ2つのコマンドが存在するのでしょうか。私が見逃した違いはありますか?なぜdir
よりもls
を好むのでしょうか?
dir
は 後方互換性のために しかないと考える傾向があります。
GNU Coreutils から:
dirはls -C -bと同等です。つまり、デフォルトでは、ファイルは列にリストされ、垂直方向にソートされ、特殊文字はバックスラッシュエスケープシーケンスで表されます。
ちなみに、ls
はデフォルトでは出力を色分けしません。これは、ほとんどのディストリビューションがls --color=auto
の/etc/profile.d
にls
をエイリアスしているためです。テストの場合は、unalias ls
と入力してls
を試してください。無色になります。
dir
はUnix標準のコマンドではありませんが、Windows(DOS)ユーザー(およびVAX-VMSとdir
が使用された他のOS)をある程度理解できるようにするためのエイリアス/クローンの一種ですファイルを一覧表示します)。