linux下好像命令-可以不写,譬如tar jxvf ...也可以tar -jxvf ?
ringa_lee
ringa_lee 2017-04-17 15:26:42
[Linux讨论组]

linux下好像命令-可以不写,譬如tar jxvf ...也可以tar -jxvf ?

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
黄舟

不可以这样说,其实是你使用的例子比较特殊而已。
tar命令的选项中-是可写可不写,不使用-效果也是一样。不过还是推荐使用-,毕竟规范很多。

给你看一个不能忽略-的实例
[ioitboy@linux ~]$ ls -ld /
dr-xr-xr-x. 17 root root 4096 Jul 25 12:29 /
[ioitboy@linux ~]$ ls ld /
ls: cannot access ld: No such file or directory
/:
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

//使用-的第一个命令执行成功了,但是我们发现第二个命令的执行结果完全不一样而且有一个报错。
1,因为没有写-,结果bash把ld理解成了一个文件或目录,给出了一个报错。
2,因为没有写-,结果bash没有得到使用-ld这个选项的请求。直接给出了ls /的输出,没有列出/目录的信息。

最后还是推荐多看看man和--help的帮助吧,学习规范的命令书写方法,可以避免一些意外的执行结果。

天蓬老师

没横的是bsd的写法,比如ps aux,可以这么写,就是因为ps是从bsd移植过来的

PHP中文网

ps命令的起源不是很了解,不过楼主可以看看命令行的选项解析原理
-的是UNIX风格,不带的是BSD风格,另外还有GNU风格 等等。。
可以简单了解getopt以及getopt_long函数,这两个函数是支持的是UNIX风格

ringa_lee

感觉这是个特例吧,你拿其他命令试试看。

天蓬老师

只能说有些是可以省的,如tar命令,有的就不能省。这主要看命令是属于那种风格的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号