标准 Unix 命令使用什么命名约定(如果有的话)?

Adi*_*iii 7 history command-names

我试图找到 Linux 命令的命名约定。

对于, , 等命令cp,它似乎基于第一个和第二个最后一个字符,例如rmmv

  • 移动是 mv
  • 清单是 ls
  • 副本是 cp
  • 更改目录是cd,两个单词的第一个字符,有道理

而有时会忽略某些命令中的元音,这是有道理的。

另一方面,该命令mkdir并非基于先前的认知:“make directory”mkdir应该更像是md.

由于我们有 bash 脚本中变量的命名约定和另一个指南(例如12),我想知道这些命令是否存在任何类似的约定。

dr_*_*dr_ 10

从历史上看,UNIX 命令很短,因为在创建操作系统时,内存不足,网络速度慢,键盘难以使用,以及终端(如果可用——大多数情况下你会得到纸质打印的输出)分辨率很小。因此,尽可能地节省开支是有意义的。

显然,最多不能缩短任何任意命令,而您的命令就是一个很好的例子:md最好归因于生成 MD 哈希的命令,“目录”的简写是“dir”,因此选择mkdir创建的命令一个目录很有意义。

另请参阅我的回答:为什么 UNIX/POSIX 系统调用命名如此难以辨认?

总而言之,除了上述来自历史技术限制的指南之外,UNIX 命令名称没有任何约定 - 据我所知。

  • @dr01,大量短命令是通过条带元音创建的(由 IBM 很久以前开始)。所以有一种逻辑:) (3认同)
  • Multics 有许多命令的简称,而 Unix 大多使用相同的命令。但是 Multics 使用 `cwd` 来改变工作目录和 `cd` 来创建一个目录。 (2认同)