作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在学习 Shell (Bash) 脚本编写 的入门书,并且有以下疑问:
I came across the
ls
commandThe
man
page ofls
lists a few use cases as :
ls -a
ls --block-size='M'
我的问题:
- What is the difference in
-
and--
?- Why are there 2 nomenclatures used ?
- What is the motivation behind it ?
最佳答案
长格式 (--foo
) 选项是 GNU 扩展 -- GNU ls
中存在的东西,但根本不存在于 POSIX 标准设置要求中UNIX 工具,因此其他版本的 ls
没有义务支持这些选项。在这种情况下,整个单词 (foo
) 是有意义的。这个命名法是最近添加的,比缩写形式更具表现力(并且没有命名空间限制)。
短格式选项 (-al
) 至少在形式上是标准化的(尽管扩展可以添加新的)。它们是逐个字符处理的,一次一个字母——所以 -al
表示 -a
(显示隐藏文件)和 -l
(长输出),而不是让 -al
在这种情况下有自己的含义。这是 UNIX 命令行选项的原始语法,因此不仅为了简洁而且为了向后兼容而受到支持。
关于linux - 巴什 : Difference between '-' and '--' options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28279812/
我是一名优秀的程序员,十分优秀!