O BSD e o AT & T desenvolveram versões incompatíveis de ps
. As opções sem um traço principal são do estilo BSD, enquanto aquelas com um traço principal são o estilo AT & T Unix.
A página de manual do ps também tem a dizer:
Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user named "x", as well as printing all processes that would be selected by the -a option. If the user named "x" does not exist, this "ps" may interpret the command as "ps aux" instead and print a warning. This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon.
O Linux optou por suportar ambos. ps -au{user}
será eliminado se você fornecer um usuário inexistente. Veja:
$ 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).
Ubuntu / Canonical optou por mostrar um erro.
O Debian optou por fornecer o mesmo resultado para ambos, ps -aux
e ps aux
. Tudo somado, muito confuso. Mas como dito: isto é / foi para tornar os scripts compatíveis. E você pode usar com o que você se sente feliz.