ps -aux和 和有ps aux什么区别?我想知道这不仅仅是语法和“可移植性”的问题。哪个更适合在 Ubuntu 中使用?
尽管有一些类似的问题,但我对这种具体差异很感兴趣。
Rin*_*ind 19
BSD 和 AT&T 开发了不兼容的ps. 没有前导破折号的选项是 BSD 风格,而有前导破折号的选项是 AT&T Unix 风格。
该PS男页有这样一段话太:
请注意,“ps -aux”与“ps aux”不同。POSIX 和 UNIX 标准要求“ps -aux”打印名为“x”的用户拥有的所有进程,以及打印由 -a 选项选择的所有进程。如果名为“x”的用户不存在,则此“ps”可能会将命令解释为“ps aux”并打印警告。此行为旨在帮助转换旧的脚本和习惯。它是脆弱的,可能会发生变化,因此不应依赖它。
Linux 选择同时支持两者。ps -au{user}如果您提供不存在的用户,则会出错。看:
$ ps -autest
error: user name does not exist
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
Run Code Online (Sandbox Code Playgroud)
Ubuntu/Canonical 选择显示错误。Debian 选择为ps -aux和ps aux. 总而言之,相当混乱。但如前所述:这是/曾经是为了使脚本兼容。你可以使用你觉得满意的东西。