該ps
命令可以採用兩種格式的標誌:
- Unix 格式,您應該在標誌前面加上破折號。
- BSD 格式中,標誌前方不應有破折號。
我瀏覽了一下線上說明頁用於ps
查看哪些標誌適用於 Unix 標誌格式以及哪些標誌適用於 BSD 標誌格式的命令,但我找不到任何內容。
編輯:這不是重複的,在另一個問題中,我問 Unix 和 BSD 標誌格式的標誌是否不同,而在這個問題中,我問 Unix 標誌格式的標誌是什麼,BSD 標誌的標誌是什麼格式。
答案1
這線上說明頁不按樣式對選項進行分組,而是按功能將選項分組。您可以透過查看選項的呈現方式來區分樣式:
- 所列的 BSD 選項不含前導破折號(
a
,g
,T
,r
,x
...); - POSIX 選項以單一前導破折號列出(
-A
,-a
,-d
,-e
,-N
...); - GNU 長選項列出時帶有兩個前導破折號 (
--deselect
...)。
正如 Kusalananda 所建議的,最好只使用 POSIX 選項,並且僅在需要了解其他人對ps
.
答案2
POSIX 標準描述ps
實用程式概要如下:
ps [-aA] [-defl] [-g grouplist] [-G grouplist]
[-n namelist] [-o format]... [-p proclist] [-t termlist]
[-u userlist] [-U userlist]
由於圍繞 的“UNIX 選項”和“BSD 選項”顯然存在一些混淆ps
,並且 OpenBSD、NetBSD、FreeBSD 和 macOS 甚至都沒有在其手冊中列出“BSD 選項”(無破折號標誌)ps
,也許最好忘記它們並將它們視為UNIX 歷史上已結束的章節的一部分?
POSIX Rationale 部分確實ps
說基於 System V 的 Unices 和基於 BSD 的 Unices 之間在實現方面存在不相容性ps
(以及標準化標誌的方式背後的推理),但它從未提及 dash-less旗幟。
以供參考:
答案3
PS 支援三 (3) 種使用語法樣式:
- UNIX 風格,可以分組且前面必須有破折號 - 例如
ps -aux
- BSD 風格,可以分組並且不能與破折號一起使用 - 例如
ps aux
- GNU 長選項,前面有兩個破折號,例如
ps --aux