1. 程式人生 > >Linux中引數命令有的是一個橫槓有的是兩個橫槓的區別

Linux中引數命令有的是一個橫槓有的是兩個橫槓的區別

原文地址:https://segmentfault.com/q/1010000000757213/a-1020000000757344

Unix 程式的命令列選項有三種風格:Unix 風格、GNU 風格和 X toolkit 風格。

Unix 風格

即題主說的 -a 這種。在選項需要加引數的時候,緊跟在選項後面即可(或者加空格)。比如登入 mysql server 的時候:

$ mysql -u root -p

或者

$ mysql -uroot -p

均可。這時,root 就是 u 的引數,表示使用 root 使用者登入。另外加不加空格看程式怎麼才處理了,沒有明確的規定。

GNU 風格

即題主說的 --help 這種,使用兩個連字元加上關鍵詞(而不是單個字元)。這種風格的出現是因為有一些複雜的 GNU 程式,僅僅 26 個字母(或者算上大小寫 52 個)不夠使用而發展出來的。另外一個有點是容易理解,因為出現的不再是縮寫的字母。選項引數可以使用空格分割也可以使用"="來分割。如:

$ ls --human-readable --sort=time

如果使用 Unix 風格,那麼上條命令則是

$ ls -ht

是不是更加易讀呢?

X toolkit 風格

這是一種比較不常見的風格,使用單個連字元加上關鍵詞。只有 X 相關的程式才使用這種風格,一般不建議使用。

$ xeyes -display joesws:0 -geometry 1000x1000+0+0

看上去和 GNU 風格差不多,只是雙連字元改成了單個連字元。