在命令的手册页中find
,
我发现-depth
, -delete
,-exec
等选项的前导符号是单-
而不是双--
反之,还有git log --oneline
、git log --graph
、 、--python
,
可以方便区分全称和缩写命令
为什么指挥部find
不遵循这样的做法。
答案1
因为find
是由 POSIX 标准化的实用程序但git
事实并非如此。因此,开发人员git
可以以他们认为合适的任何方式自由地实现其选项/操作数。
POSIX 实用程序用于-
引入选项以及这些实用程序的实现(例如ls
等)始终按照 POSIX 标准规定的方式实现它们。然后,对于某些实用程序,有一个额外的一些标准选项的“长选项”变体以及 POSIX 甚至没有提到的扩展。
在 的情况下find
,这些并不是严格的“选项”,而是“操作数”(也称为“主数”或“谓词”,具体取决于您正在阅读的手册),它们形成“操作数表达式”并作用于路径find
名目前正在处理中。标准的真正选项find
只是-H
(取消引用符号链接) 和-L
(不取消引用符号链接)。您会注意到手册中的差异,其中选项和操作数分为不同的部分。
另外,对于git
,当在命令行上指定时,它们不是“真正的选项”,而是操作数。选项始终在非选项之前指定,最后一个选项之后的任何命令行参数都只是“操作数”。它们很可能被转换为git
稍后调用的子命令的真实选项。