A opção de linha de comando sem traços, como encontrado com, por exemplo, tar
, dd
e ps
são sinalizadores de linha de comando de estilo antigo que não podem ser removidos devido a muitos aplicativos, dependendo deles.
O manual do OpenBSD para tar
chama a opção de estilo antigo de opções "herdadas", mas eu tenho certeza que já vi o nome "opções compactadas" ou "opções binned" (ou algo parecido) para descrever essa sintaxe antiga.
dd
herdou suas opções não tracejadas de JCL (Job Control Language) na IBM mainframes.
Alguns desses utilitários também aceitam opções tracejadas e a especificação POSIX para ps
não menciona as opções de estilo antigo. A especificação de dd
lista "operandos" em vez de "opções" e tar
não é padronizado pelo POSIX (o arquivador padrão é pax
). / p>
Note também que os utilitários mais recentes também usam opções não tracejadas (ou melhor, operandos) para determinar qual ação tomar. Você os encontrará em, e. git commit -p
e lxc exec
etc.
Isso é bem semelhante à "ação" de tar
. De o original tar
manual na versão 7 do Unix:
tar
saves and restores files
on magtape.
Its actions are controlled by the
key
argument.
The
key
is a string of characters containing
at most one function letter and possibly
one or more function modifiers.
A implementação original de ps
no Unix Release 3 tinha opções tracejadas (observe que a seção do manual é 8 em vez de 1, ou seja, na seção de utilitários administrativos). No próximo lançamento, ele os perdeu .
Nota: estou misturando a terminologia para "opção" e "operando" por toda parte. Uma "opção" é tecnicamente uma letra ou um caractere tracejado, por ex. -a
, enquanto um "operando" é uma não opção. Ambos são argumentos de linha de comando.