版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_41104353/article/details/83278336
本文是对 由 linux 命令行下命令参数前的一横(-)和两横(–)的区别而得知的 的一个补充。
在使用 Linux/Unix 命令的时候,我们可能会对其五花八门的选项表示形式感到困惑,比如:
- ls -l
- ls --size
- ps aux
我们可以发现,这三个命令的选项都有不同的风格,有的是一个连字符(-),有的是两个连字符(–),还有的没有连字符。那么他们都有什么区别呢?
其实横的个数是因为不同操作系统的风格所导致的:
- 选项前有一个连字符是 System V 的风格(T,Y) | UNIX98 风格(R,L)
- 选项前有两个连字符是 GNU 的风格(T,L)
- 选项前没有连字符是 BSD 的风格(T,Y,R)
说明:上面括号内字母含义 T:我老师 Y:引文 R:Red Hat L:Linux 就是这个范。括号内出现的字母表示赞成该说法的人。
对于 ls -l 和 ls --size 这两种表示形式,在 Red Hat 这本书的 1.4.1.3 小节有提到他们的专有术语
- 上述 -l 这个命令行选项是单字母选项,这被称为短命令行选项
- 与单字母选项不同的是,长命令行选项由词组成。长选项不是用一个连字符开头,而是用两个连字符(–)开头。比如 --size。
对于 ps aux 这种表现形式,该章节也有相关描述:
有时,在使用多个命令行选项时,用户可以用简写把所有的选项 “串” 到一个连字符上。
所有不带参数的单字符选项可以串在一起,共用一个 “-”。如果选项带有参数,只有将它放在最后,它才能和其他选项共用一个连字符。这样的话,可以在命令行上接着指定它的参数。
图来自 Red Hat Linux 用户基础
9.1.1.3 ps命令的特征
图来自 Linux 就是这个范儿
4.5.5 命令行选项