“dir”和“ls”有什么区别?

Mar*_*oma 23 gnu command

我比较了dir和的手册页,ls它们似乎完全相同。两者都是 GNU coreutils 和“列出目录内容”的一部分。

到目前为止,我看到的唯一区别是dir不会对输出进行着色。

那么为什么存在两个命令呢?我错过了有什么不同吗?为什么人会愿意dirls

Ren*_*nan 24

我倾向于认为这dir只是为了向后兼容

来自GNU Coreutils

dir 等价于 ls -C -b; 也就是说,默认情况下,文件列在列中,垂直排序,特殊字符由反斜杠转义序列表示。

顺便说一句,ls默认情况下不会对输出进行着色:这是因为大多数发行版都别名lsls --color=autoin /etc/profile.d。对于测试,输入unalias ls然后尝试ls:它将是无色的。

  • `dir` 不是为了向后兼容而提供的。相反,`ls` 的工作方式是为了向后兼容(并且因为很多用户希望它以这种方式工作),并且 `dir` 是作为替代提供的,GNU 开发人员通常认为这是更可取的,因为它的输出是设备-独立的。参见 [GNU 编码标准](https://www.gnu.org/prep /standards/) 和 [我的回答](https://askubuntu.com/a/615946) 到 [那个 AU 问题](https://askubuntu.com/q/103913) 以了解详细信息。 (8认同)

jll*_*gre 10

dir不是 Unix 标准命令,而可能只是一种别名/克隆,以使 Windows (DOS) 用户(以及可能dir用于列出文件的VAX-VMS 和其他操作系统)熟悉一些。