Eu sei que esses dois comandos fazem a mesma coisa:
ls -la
ls -al
mas estou me perguntando se há alguma preferência entre eles. É uma prática melhor ordená-los de uma certa maneira?
command-line
Tim
fonte
fonte
Respostas:
Realmente não importa *, a menos que um comando mencione explicitamente. Não encontrei nenhuma referência que desse algo como uma orientação sobre como colocar as opções uma após a outra. Então, para facilitar a leitura, as opções podem ser organizadas em ordem alfabética.
* Existe um cavaet muito muito importante, ou seja, se alguma opção precisa de um nome de arquivo ou qualquer outra entrada logo após, é necessário colocá-lo de acordo.
Por exemplo, a
-f
opção degrep
pega um arquivo como entrada para pegar o padrão a procurar no arquivo de entrada. Você precisa dar o comando como por exemplo:Se você usá-lo como:
falhará como será usado
c
como um nome de arquivo.fonte
As convenções POSIX definem nas Diretrizes 11 e 12 das Diretrizes de sintaxe do utilitário que a ordem " não deve importar ", a menos que não esteja documentada para o próprio utilitário.
O Manual de Referência da Biblioteca C GNU também respeita essas convenções POSIX nas Convenções de Sintaxe de Argumentos do Programa 25.1.1 .
Mas observe, existem vários utilitários que, em algumas situações, fornecem ordens estritas de como executar os parâmetros (por exemplo, localizar). Na página de manual de localização :
Às vezes, o utilitário reclama da encomenda.
fonte
find
só existem algumas opções, o POSIX define apenas as duas opções-H
e-L
. O GNUfind
no Ubuntu tem mais algumas opções, mas-type
e-name
etc são considerados operadores , não opções . E para os operadores, a ordem geralmente é importante.Com ls, você dificilmente pode dar errado com a ordenação de opções.
Mas lembre-se de que outros comandos podem ter respostas diferentes às opções, dependendo da ordem.
Um exemplo é o comando find. Você obterá resultados diferentes, por exemplo, entre:
E
fonte
Se o que você deseja praticar é alfabetizar cadeias curtas, talvez. Acho úteis duas estratégias: criar palavras (reduzir erros de digitação) e criar frases (melhorar a compreensão).
Para ls, por exemplo, eu costumo usar
ls -halF
porque, mesmo com a capitalização estranha, sou melhor digitando halF do que algo como Falh que não é uma palavra.Para tar, por outro lado, digito
tar czvf filename
e digo (na minha cabeça) "tar Create and Zip, Verbosely For filename" porque foi assim que aprendi o que as diferentes letras significavam.fonte
Como outros responderam, isso não importa (a menos que os argumentos documentados de outra forma ou as opções tenham mais argumentos).
Mas é preferível pedir opções em ordem alfabética é discutível.
Pessoalmente, acho que a mnemônica fornece mais valor do que a ordem alfabética estrita. É mais fácil lembrar de um conjunto de opções quando elas formam uma palavra memorável, por exemplo, considere:
vs:
Portanto, se você repetir uma certa combinação de opções para um comando, tente reorganizar as letras para uma ordem mais fácil de lembrar.
fonte