1. 程式人生 > >Linux/Unix 命令列選項前的一橫(-)、兩橫(--)和沒橫

Linux/Unix 命令列選項前的一橫(-)、兩橫(--)和沒橫

在使用 Linux/Unix 命令的時候,我們可能會對其五花八門的選項表示形式感到困惑,比如:

  • ls -l
  • ls --size
  • ps aux 我們可以發現,這三個命令的選項都有不同的風格,有的是一個連字元(-),有的是兩個連字元(–),還有的沒有連字元。那麼他們都有什麼區別呢?

其實橫的個數是因為不同作業系統的風格所導致的:

  • 選項前有一個連字元是 System V 的風格(T,Y) | UNIX98 風格(R,L)
  • 選項前有兩個連字元是 GNU 的風格(T,L)
  • 選項前沒有連字元是 BSD 的風格(T,Y,R) 說明:上面括號內字母含義 T:我老師 Y:引文 R:Red Hat L:Linux 就是這個範。括號內出現的字母表示贊成該說法的人。

對於 ls -l 和 ls --size 這兩種表示形式,在 Red Hat 這本書的 1.4.1.3 小節有提到他們的專有術語

  • 上述 -l 這個命令列選項是單字母選項,這被稱為短命令列選項
  • 與單字母選項不同的是,長命令列選項由片語成。長選項不是用一個連字元開頭,而是用兩個連字元(–)開頭。比如 --size。

對於 ps aux 這種表現形式,該章節也有相關描述:

有時,在使用多個命令列選項時,使用者可以用簡寫把所有的選項“串”到一個連字元上。

所有不帶引數的單字元選項可以串在一起,共用一個“-”。如果選項帶有引數,只有將它放在最後,它才能和其他選項共用一個連字元。這樣的話,可以在命令列上接著指定它的引數。

在這裡插入圖片描述 圖來自 Red Hat Linux 使用者基礎 9.1.1.3 ps命令的特徵

在這裡插入圖片描述 圖來自 Linux 就是這個範兒 4.5.5 命令列選項