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.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- 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
La structure de base
Section intitulée « La structure de base »Toute commande Linux suit ce schéma :
commande [options] [arguments]| Élément | Rôle | Exemple |
|---|---|---|
| Commande | Le programme à exécuter | ls, cat, mkdir |
| Options | Modifient le comportement de la commande | -l, --all, -v |
| Arguments | Ce sur quoi la commande agit | /etc, fichier.txt |
Prenons un exemple concret :
ls -la /var/logls→ 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)
Options courtes et options longues
Section intitulée « Options courtes et options longues »La plupart des commandes proposent deux formats d'options :
| Format | Syntaxe | Exemple | Quand l'utiliser |
|---|---|---|---|
| Court | - + une lettre | ls -l | Au quotidien, rapide à taper |
| Long | -- + un mot | ls --all (identique à ls -a) | Dans les scripts, plus lisible |
Combiner des options courtes
Section intitulée « Combiner des options courtes »Les options courtes se combinent derrière un seul tiret :
# Ces deux lignes font la même chose :ls -l -a -hls -lahOptions avec valeur
Section intitulée « Options avec valeur »Certaines options attendent une valeur :
# Option courte avec valeurhead -n 5 /var/log/syslog # affiche les 5 premières lignes
# Option longue avec valeurhead --lines=5 /var/log/syslog # identiqueArguments : sur quoi la commande agit
Section intitulée « Arguments : sur quoi la commande agit »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) :
lsseul liste le répertoire courant
Plusieurs arguments sont possibles :
cp fichier1.txt fichier2.txt /tmp/# ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^# argument 1 argument 2 argument 3 (destination)Codes de retour : réussite ou échec
Section intitulée « Codes de retour : réussite ou échec »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é.
| Code | Signification |
|---|---|
| 0 | Réussite |
| 1 | Erreur générale |
| 2 | Mauvaise utilisation (option invalide, argument manquant) |
| 126 | Permission refusée (le fichier existe mais n'est pas exécutable) |
| 127 | Commande introuvable |
Pour voir le code de retour de la dernière commande :
ls /etcecho $?# 0 → tout s'est bien passé
ls /repertoire-inexistantecho $?# 2 → erreur : le répertoire n'existe pasLire un message d'erreur
Section intitulée « Lire un message d'erreur »Les messages d'erreur suivent un format prévisible :
commande: type d'erreur: détailVoici les messages les plus fréquents et leur signification :
| Message | Signification | Que faire |
|---|---|---|
command not found | La commande n'existe pas ou n'est pas installée | Vérifier le nom, installer le paquet |
No such file or directory | Le chemin est incorrect ou le fichier n'existe pas | Vérifier le chemin avec ls |
Permission denied | Vous n'avez pas les droits | Réessayer avec sudo si légitime |
Is a directory | Vous traitez un dossier comme un fichier | Ajouter -r (récursif) ou corriger la cible |
File exists | Le fichier existe déjà | Choisir un autre nom ou écraser volontairement |
Exemple concret :
$ cta /etc/hostnamebash: cta: command not foundLe shell vous indique que cta n'existe pas. Vous avez fait une faute de frappe, la commande est cat.
$ cat /etc/hostnamcat: /etc/hostnam: No such file or directoryLe fichier /etc/hostnam n'existe pas. Il manque un e : c'est /etc/hostname.
Le séparateur -- : fin des options
Section intitulée « Le séparateur -- : fin des options »Parfois, un argument ressemble à une option. Par exemple, supprimer un fichier nommé -f :
# Erreur : rm interprète -f comme l'option "force"rm -f
# Correct : -- indique la fin des optionsrm -- -fLe double tiret -- dit à la commande : « tout ce qui suit est un argument, pas une option ».
Récapitulatif visuel
Section intitulée « Récapitulatif visuel » ls -l -a /var/log ── ── ── ──────── │ │ │ │ │ │ │ └─ argument : le répertoire cible │ │ └─ option : inclure les fichiers cachés │ └─ option : format détaillé └─ commande : lister le contenuMettre en pratique
Section intitulée « Mettre en pratique »Décomposer une commande devient un réflexe seulement après en avoir décortiqué quelques-unes en conditions réelles. Dans un shell jetable, vous assemblez des commandes en variant options et arguments, puis vous inspectez chaque code de retour avec $? ; la validation compare vos sorties au résultat attendu, erreurs comprises.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- 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.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- L'arborescence Linux (FHS) : Comprendre l'organisation des répertoires pour savoir où chercher.
- Naviguer et gérer des fichiers : Utiliser cd, ls, cp, mv et rm pour explorer et manipuler le système de fichiers.