84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
linux下好像命令-可以不写,譬如tar jxvf ...也可以tar -jxvf ?
ringa_lee
不可以这样说,其实是你使用的例子比较特殊而已。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移植过来的
对ps命令的起源不是很了解,不过楼主可以看看命令行的选项解析原理带-的是UNIX风格,不带的是BSD风格,另外还有GNU风格 等等。。可以简单了解getopt以及getopt_long函数,这两个函数是支持的是UNIX风格
ps
-
getopt
getopt_long
感觉这是个特例吧,你拿其他命令试试看。
只能说有些是可以省的,如tar命令,有的就不能省。这主要看命令是属于那种风格的。
不可以这样说,其实是你使用的例子比较特殊而已。
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移植过来的
对
ps
命令的起源不是很了解,不过楼主可以看看命令行的选项解析原理带
-
的是UNIX风格,不带的是BSD风格,另外还有GNU风格 等等。。可以简单了解
getopt
以及getopt_long
函数,这两个函数是支持的是UNIX风格感觉这是个特例吧,你拿其他命令试试看。
只能说有些是可以省的,如tar命令,有的就不能省。这主要看命令是属于那种风格的。