« 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
helphelp cdmanman ls–helpls –helpaproposapropos permissionshelp 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.
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
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.