3 votes

Dans les manuels de commandes Linux, quelle est la différence d'avoir dans la description une "option_courte <virgule> option_longue" et "option_courte option_longue" ?

Par exemple, en jetant un coup d'œil à

man stat

dans la description, il y a plusieurs options comme :

-L, --dereference

et

-c --format=FORMAT

quelle est la différence avec ou sans une virgule ? Et comment puis-je apprendre ce genre de choses. J'ai peur de passer à côté d'un détail simple.

Je suis actuellement en train de lire: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html

Mais cela ne semble pas dire grand-chose. Comment/où consultez-vous des informations sur Linux ?

3voto

Oliver Points 125

Dans stat en particulier, cela ressemble à une faute de frappe. Les options -c et --format sont interchangeables et donc la virgule devrait être là pour la cohérence de style avec les autres options.

La façon dont cela est lu est que vous avez besoin de -c puis --format ce qui n'est pas le cas.

3voto

Kamil Maciorowski Points 57004

Quelle est la différence avec ou sans une virgule?

Aucune. Utilisez l'option courte ou longue, la virgule n'a pas d'importance.

Dans mon Kubuntu, j'ai copié des fichiers de /usr/share/man/man1 et /usr/share/man/man8, décompressé, nettoyé (enlevé les fioritures) et recherché avec regex les options sans la virgule. J'ai parcouru les résultats, examiné quelques fichiers "suspects". Mes conclusions (heuristiques, non strictes) :

  • Relativement peu de manuels utilisent le style sans virgule.
  • Ceux qui le font le mélangent rarement avec le style avec virgule.
  • man stat utilise le style sans virgule pour -c --format seulement, c'est probablement juste une faute de frappe.

Comment puis-je apprendre ce genre de choses?

Ma méthode : en devenant familier. Les pages de manuel sont pour les personnes ; la plupart des gens (même les nerds) sont capables de gérer les modèles flous, les fautes de frappe, les petites incohérences ou exceptions. Certains manuels sont tellement énormes (man 1 bash) ou doivent traiter de concepts abstraits (man 5 sudoers), donc ils sont plus formels ; mais quand vous avez besoin de résoudre un problème spécifique, vous n'étudiez rarement tout le manuel, vous cherchez des exemples. Donc vous expérimentez, adaptez les exemples disponibles, écrivez des commandes qui ne fonctionnent pas, écrivez des commandes qui fonctionnent, comparez ce qui fonctionne avec la documentation.

Et puis vous commencez à connaître ces conventions quelque peu floues. Vous vous fiez à la Règle de Moindre Surprise, vous vous attendez à voir certaines options courtes équivalentes à certaines options longues. Vous ne remarquez même pas que certains manuels omettent des virgules. Vous voyez que man stat est inconsistant seulement parce que l'absence de virgule ressort visuellement; vous hausserez les épaules et continuerez...

...parce que vous êtes familier avec d'autres manuels qui vous avertissent explicitement de la syntaxe surprenante, le cas échéant ; et vous pensez que c'est super que leurs auteurs aient fait une aussi bonne chose.

Mais même s'il y avait une différence avec ou sans une virgule, à quel point cela peut-il importe ? puisque

  • vous exécutez stat -c '%n' / et obtenez / comme prévu ;
  • vous exécutez stat --format='%n' / et obtenez le même résultat ;

mais

  • vous exécutez stat -c --format='%n' / et obtenez --format=/.

J'ai peur de passer à côté d'un détail simple.

Comparez ceci au cas des points de suspension dans les menus des outils GUI. Saviez-vous que de nombreuses applications utilisent des points de suspension () pour indiquer des éléments de menu qui n'ont pas d'action immédiate ? Par exemple, Imprimer... ouvre une fenêtre supplémentaire où vous pouvez modifier quelque chose avant de procéder à l'impression réelle, ou vous pouvez annuler ; dans une telle application, Imprimer (sans points de suspension) imprimerait immédiatement.

J'utilisais efficacement des outils GUI depuis plusieurs années, avant de comprendre ce que signifient les points de suspension. C'était par hasard, j'ai lu des anecdotes et c'est seulement alors que j'ai remarqué que les points de suspension sont (et "ont toujours été") là. Maintenant, je sais que tout élément de menu avec des points de suspension est "sûr", il devrait me fournir un moyen d'annuler.

Mon point est : un tel détail peut signifier quelque chose, cela peut être assez utile (donc vous avez posé une question raisonnable) ; mais si vous pouvez faire en sorte que stat fasse ce que vous voulez (et si je peux utiliser les menus pour obtenir ce que je veux), alors manquer le détail n'est pas une grosse affaire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X