Je sais que ces deux commandes font la même chose:
ls -la
ls -al
mais je me demande s'il y a une préférence entre eux. Est-il préférable de les commander d'une certaine manière?
Je sais que ces deux commandes font la même chose:
ls -la
ls -al
mais je me demande s'il y a une préférence entre eux. Est-il préférable de les commander d'une certaine manière?
Réponses:
Cela n'a pas vraiment d'importance * sauf si une commande le mentionne explicitement. Je n'ai rencontré aucune référence qui donne quelque chose comme une ligne directrice sur la façon de mettre les options l'une après l'autre. Je pense donc que pour des raisons de lisibilité, les options peuvent être organisées par ordre alphabétique.
* Il y a un cavaet très très important: si une option a besoin d'un nom de fichier ou de toute autre entrée juste après, vous devez le mettre en conséquence.
Par exemple, l'
-f
optiongrep
prend un fichier en entrée pour prendre le modèle à rechercher dans le fichier d'entrée. Vous devez donner la commande comme par exemple:Si vous l'utilisez comme:
il échouera car il sera utilisé
c
comme nom de fichier.la source
Les conventions POSIX définissent dans les lignes directrices 11 et 12 des lignes directrices sur la syntaxe des utilitaires que l'ordre « ne devrait pas avoir d'importance » à moins qu'il ne soit pas documenté pour l'utilitaire lui-même.
Le manuel de référence de la bibliothèque GNU C respecte également ces conventions POSIX dans 25.1.1 Conventions de syntaxe des arguments de programme .
Mais remarquez, il existe plusieurs utilitaires qui donnent dans certaines situations des ordres stricts sur la façon d'exécuter les paramètres (par exemple, trouver). Depuis la page de manuel find :
Parfois, l'utilitaire se plaint de la commande.
la source
find
n'a que quelques options, POSIX ne définit que les deux options-H
et-L
. Le GNUfind
dans Ubuntu a quelques options supplémentaires, mais-type
et-name
etc sont considérés comme des opérateurs , pas des options . Et pour les opérateurs, l'ordre compte généralement.Avec ls, vous pouvez difficilement vous tromper en commandant des options.
Mais gardez à l'esprit que d'autres commandes peuvent avoir des réponses différentes aux options selon l'ordre.
Un exemple est la commande find. Vous obtiendrez des résultats différents par exemple entre:
Et
la source
Si ce que vous voulez pratiquer, c'est alphabétiser des chaînes courtes, peut-être. Je trouve deux stratégies utiles: faire des mots (réduire les fautes de frappe) et faire des phrases (améliore la compréhension).
Pour ls, par exemple, j'utilise habituellement
ls -halF
parce que, même avec l'étrange capitalisation, je suis meilleur en tapant halF que quelque chose comme Falh qui n'est pas un mot.Pour tar, par contre, je tape
tar czvf filename
et dis (dans ma tête) "tar Create et Zip, Verbosely For filename" parce que c'est ainsi que j'ai appris ce que signifiaient les différentes lettres.la source
Comme d'autres ont répondu, cela n'a pas d'importance (sauf si documenté autrement ou que les arguments d'option prennent d'autres arguments).
Mais est-il préférable de commander les options par ordre alphabétique est discutable.
Personnellement, je trouve que les mnémoniques fournissent plus de valeur qu'un ordre alphabétique strict. Il est plus facile de se souvenir d'un ensemble d'options lorsqu'elles forment un mot mémorable, par exemple, considérez:
contre:
Donc, si vous vous retrouvez à répéter un certain combo d'options pour une commande, vous voudrez peut-être essayer de réorganiser les lettres dans un ordre qui est plus facile à retenir pour vous.
la source