À retenir
- Elle définit une action spécifique au sein d'un programme plus vaste.
- Elle se place généralement juste après le nom du programme.
- Elle permet d'organiser les outils informatiques de manière hiérarchique et logique.
Une sous-commande est un mot-clé que l'on ajoute après le nom d'un programme principal dans un terminal pour lui indiquer une action précise à réaliser. C'est un peu comme une option dans un menu : le programme est le restaurant (la commande), et l'action choisie (la sous-commande) est le plat spécifique que vous commandez.
Étymologie
Le terme est composé du préfixe sous- (indiquant une hiérarchie ou une dépendance) et de commande. Il s'agit d'un calque de l'anglais subcommand, apparu avec la complexification des interfaces en ligne de commande (CLI) où un seul logiciel doit souvent gérer des dizaines de tâches différentes.
Exemples d'usage
git push: git est l'outil principal, push est la sous-commande pour envoyer du code.apt update: apt gère les logiciels sur Linux, update précise qu'il faut rafraîchir la liste des mises à jour.docker stop: docker est la plateforme, stop est l'ordre d'arrêter un conteneur.
Cas d'usage
Ce concept est omniprésent dans le développement logiciel, l'administration système et la gestion de serveurs. Il permet de regrouper de nombreuses fonctionnalités au sein d'un même outil cohérent au lieu d'avoir des centaines de petits programmes séparés sur son ordinateur.
Bonnes pratiques
Lorsqu'on utilise des sous-commandes, il est recommandé de toujours tester la commande avec l'option --help (ex: git commit --help) pour voir les options spécifiques à cette action, car elles diffèrent souvent d'une sous-commande à l'autre.
Synonymes
Antonymes
Conseil
Si vous apprenez à utiliser le terminal, visualisez les commandes comme des phrases : nom-du-logiciel (Sujet) + sous-commande (Verbe) + paramètres (Compléments). Cela rend la syntaxe beaucoup plus facile à mémoriser.
Questions fréquentes
Quelle est la différence entre une sous-commande et un argument ?
Une sous-commande est une action (comme 'supprimer'), alors qu'un argument est souvent l'objet sur lequel on agit (comme le nom d'un fichier).
Une sous-commande peut-elle avoir ses propres sous-commandes ?
Oui, c'est courant dans les outils complexes comme AWS CLI ou Kubernetes (ex: 'kubectl config view').