Linux — utilisation avancée et administration · Étape 02

Trouve l’aide et comprends la résolution des commandes

Utilise man, help, type, command -V et PATH pour savoir quelle commande sera exécutée et où trouver sa documentation.

Durée indicative · ~1 h 15Niveau débutantPrérequis conseillé · Leçon 1 — système, session et shellPratique · TP
L’idée reçue

« Toutes les commandes Linux sont des programmes dans /usr/bin. »

Le shell peut exécuter un alias, une fonction, un builtin ou un fichier trouvé dans PATH. La documentation dépend du type réel de commande.

01Demande au shell ce qu’il va exécuter

type cd
type ls
type -a printf
command -V pwd
which ls 2>/dev/null || true

type est prioritaire pour comprendre la résolution dans le shell courant. which cherche surtout un exécutable dans PATH et peut ignorer un alias ou un builtin.

02Choisis la bonne documentation

Besoin
Commande
Exemple
Builtin Bash
help
help cd
Programme ou format
man
man ls
Résumé rapide
–help
ls –help
Recherche par sujet
apropos
apropos permissions
help cd
man ls
man 5 passwd
apropos 'copy files' | head
whatis stat

Les sections de man distinguent notamment les commandes utilisateur, appels système, fonctions de bibliothèque, fichiers spéciaux et formats de configuration.

03Observe PATH

printf '%s
' "$PATH" | tr ':' '
'
command -v ls
command -v python3
hash -t ls 2>/dev/null || true

Le shell parcourt les répertoires de PATH de gauche à droite. Placer un répertoire non fiable avant /usr/bin peut provoquer l’exécution d’un programme inattendu.

Panne volontaire

Crée une commande locale qui masque une commande système

mkdir -p "$HOME/soria-linux-lab/bin"
cat > "$HOME/soria-linux-lab/bin/date" <<'EOF'
#!/usr/bin/env bash
echo 'fausse commande date du laboratoire'
EOF
chmod +x "$HOME/soria-linux-lab/bin/date"

PATH="$HOME/soria-linux-lab/bin:$PATH"
type -a date
date
/usr/bin/date
Le nom de commande est identique, mais le résultat change selon l’ordre de PATH. En diagnostic, affiche toujours type -a ou command -V avant de conclure.

04Comprends le code de retour

true
printf 'true => %s
' "$?"
false
printf 'false => %s
' "$?"
ls /chemin-inexistant
printf 'ls => %s
' "$?"

Par convention, zéro indique le succès et une valeur non nulle signale un échec ou un résultat particulier. Les scripts et pipelines s’appuient sur ce statut, pas sur la couleur ou le texte du terminal.

05Construis une fiche commande

Choisis find, stat ou cp et documente :

  • son type ;
  • son chemin réel ;
  • sa page de manuel ;
  • trois options utiles ;
  • son comportement en cas d’erreur ;
  • un exemple sans effet destructif.

Ce que tu retiens

Avant d’utiliser une commande, identifie ce qu’elle est, où elle se trouve, quelle documentation lui correspond et comment elle signale son résultat.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.