直到最近,我的印象是按照惯例,所有Linux命令选项都需要以连字符( - )作为前缀。例如,指令ls –l
使用ls
选项执行l
命令(这里我们可以看到l
选项以连字符为前缀)。
生活很顺利,直到我进入Linux初学者一章解释ps
命令。在那里,我了解到我可以编写类似ps u U xyz
的内容,据我所知,u
和U
是不需要以连字符为前缀的选项。通常情况下,我希望必须编写与ps –uU xyz
类似的命令来强制使用连字符。
我意识到这可能是一个愚蠢的问题,但我想知道是否有一个特殊的原因,为什么ps
命令不遵循我认为是指定命令选项的标准方式(为它们添加前缀)连字符)。为什么变化?指定像这样的连字符选项有什么特别的意义吗?
答案 0 :(得分:3)
Unix上有一些旧的程序是在约定没有被广泛采用时编写的,而ps
就是其中之一。另一个例子是tar
,虽然它已经更新为允许带有和不带-
前缀的选项。