linux下好像命令-可以不写,譬如tar jxvf ...也可以tar -jxvf ?
ringa_lee
ringa_lee 2017-04-17 15:26:42
0
5
687

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 runsys sbin s var

//使用-的第一個指令執行成功了,但是我們發現第二個指令的執行結果完全不一樣而且有一個報錯。
1,因為沒有寫-,結果bash把ld理解成了一個文件或目錄,給了一個報錯。
2,因為沒有寫-,結果bash沒有得到使用-ld這個選項的請求。直接給了ls /的輸出,沒有列出/目錄的資訊。

最後還是推薦多看看man和--help的幫助吧,學習規範的指令書寫方法,可以避免一些意外的執行結果。

Peter_Zhu

沒橫的是bsd的寫法,例如ps aux,可以這麼寫,就是因為ps是從bsd移植過來的

Ty80

ps指令的起源不是很了解,不過樓主可以看看指令列的選項解析原理
-的是UNIX風格,不帶的是BSD風格,另外還有GNU風格等等。 。
可以簡單了解getopt以及getopt_long函數,這兩個函數是支援的是UNIX風格

左手右手慢动作

感覺這是個特例吧,你拿其他指令試試看。

Peter_Zhu

只能說有些是可以省的,如tar指令,有的就不能省。這主要看指令是屬於那種風格的。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板