Aller au contenu
Administration Linux medium

Anatomie d'une commande Linux

8 min de lecture

Chaque commande Linux suit la même structure. Quand vous tapez ls -l /etc dans un terminal, vous utilisez trois éléments : une commande, une option et un argument. Comprendre cette structure, c’est comprendre toutes les commandes que vous rencontrerez — pas besoin de les apprendre par cœur.

  • Décomposer n’importe quelle ligne de commande en commande + options + arguments
  • Distinguer les options courtes (-l) des options longues (--long)
  • Lire un code de retour pour savoir si une commande a réussi ou échoué
  • Interpréter les messages d’erreur les plus courants
  • Combiner plusieurs options et arguments dans une même commande

Toute commande Linux suit ce schéma :

commande [options] [arguments]
ÉlémentRôleExemple
CommandeLe programme à exécuterls, cat, mkdir
OptionsModifient le comportement de la commande-l, --all, -v
ArgumentsCe sur quoi la commande agit/etc, fichier.txt

Prenons un exemple concret :

Fenêtre de terminal
ls -la /var/log
  • ls → la commande (lister le contenu d’un répertoire)
  • -la → deux options combinées : -l (format détaillé) + -a (inclure les fichiers cachés)
  • /var/log → l’argument (le répertoire à lister)

La plupart des commandes proposent deux formats d’options :

FormatSyntaxeExempleQuand l’utiliser
Court- + une lettrels -lAu quotidien, rapide à taper
Long-- + un motls --longDans les scripts, plus lisible

Les options courtes se combinent derrière un seul tiret :

Fenêtre de terminal
# Ces deux lignes font la même chose :
ls -l -a -h
ls -lah

Certaines options attendent une valeur :

Fenêtre de terminal
# Option courte avec valeur
head -n 5 /var/log/syslog # affiche les 5 premières lignes
# Option longue avec valeur
head --lines=5 /var/log/syslog # identique

L’argument indique la cible de la commande. Selon la commande, il peut s’agir :

  • d’un fichier : cat /etc/hostname
  • d’un répertoire : ls /var/log
  • d’un texte : echo "Bonjour"
  • d’un nom : mkdir projets
  • de rien (argument par défaut) : ls seul liste le répertoire courant

Plusieurs arguments sont possibles :

Fenêtre de terminal
cp fichier1.txt fichier2.txt /tmp/
# ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^
# argument 1 argument 2 argument 3 (destination)

Après chaque commande, Linux stocke un code de retour (exit code). C’est un nombre qui indique si la commande a réussi ou échoué.

CodeSignification
0Réussite
1Erreur générale
2Mauvaise utilisation (option invalide, argument manquant)
126Permission refusée (le fichier existe mais n’est pas exécutable)
127Commande introuvable

Pour voir le code de retour de la dernière commande :

Fenêtre de terminal
ls /etc
echo $?
# 0 → tout s'est bien passé
ls /repertoire-inexistant
echo $?
# 2 → erreur : le répertoire n'existe pas

Les messages d’erreur suivent un format prévisible :

commande: type d'erreur: détail

Voici les messages les plus fréquents et leur signification :

MessageSignificationQue faire
command not foundLa commande n’existe pas ou n’est pas installéeVérifier le nom, installer le paquet
No such file or directoryLe chemin est incorrect ou le fichier n’existe pasVérifier le chemin avec ls
Permission deniedVous n’avez pas les droitsRéessayer avec sudo si légitime
Is a directoryVous traitez un dossier comme un fichierAjouter -r (récursif) ou corriger la cible
File existsLe fichier existe déjàChoisir un autre nom ou écraser volontairement

Exemple concret :

Fenêtre de terminal
$ cta /etc/hostname
bash: cta: command not found

Le shell vous indique que cta n’existe pas. Vous avez fait une faute de frappe — la commande est cat.

Fenêtre de terminal
$ cat /etc/hostnam
cat: /etc/hostnam: No such file or directory

Le fichier /etc/hostnam n’existe pas. Il manque un e : c’est /etc/hostname.

Parfois, un argument ressemble à une option. Par exemple, supprimer un fichier nommé -f :

Fenêtre de terminal
# Erreur : rm interprète -f comme l'option "force"
rm -f
# Correct : -- indique la fin des options
rm -- -f

Le double tiret -- dit à la commande : « tout ce qui suit est un argument, pas une option ».

ls -l -a /var/log
── ── ── ────────
│ │ │ │
│ │ │ └─ argument : le répertoire cible
│ │ └─ option : inclure les fichiers cachés
│ └─ option : format détaillé
└─ commande : lister le contenu
  • Toute commande suit le schéma commande [options] [arguments].
  • Les options courtes (-l) se combinent (-lah), les longues (--long) sont plus lisibles dans les scripts.
  • Un code de retour 0 = réussite, tout autre nombre = erreur.
  • echo $? affiche le code de retour de la dernière commande.
  • Les messages d’erreur indiquent toujours la commande, le type d’erreur et la cible — lisez-les de gauche à droite.
  • Le séparateur -- permet de passer des arguments qui ressemblent à des options.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn