#title: Unix & Shell level: L1
Le shell est un langage pour parler à votre machine. Là où une interface graphique propose des boutons, le shell offre des mots et des combinaisons. L’objectif de ce cours est de vous rendre à l’aise pour naviguer, manipuler des fichiers, automatiser des tâches répétitives et diagnostiquer des problèmes en quelques commandes lisibles.
#Pourquoi apprendre le shell ?
Imaginez qu’on vous demande d’extraire de grands fichiers logs uniquement les lignes d’erreur d’aujourd’hui, de les trier par gravité et de les envoyer à un collègue. En GUI, c’est fastidieux. En shell, c’est une phrase: on lit, on filtre, on trie, on redirige. Le shell excelle lorsqu’il s’agit de composer de petits outils spécialisés pour accomplir une tâche plus grande.
#Premiers pas: se repérer et lire l’aide
Une session commence par un prompt, par exemple antoine@machine:~$
. Tapez pwd
pour connaître le “où suis‑je ?” (répertoire courant), puis ls
pour voir ce qu’il y a dans la pièce. La plupart des commandes expliquent elles‑mêmes leur usage: man ls
ouvre un manuel; ls --help
affiche un résumé.
Exemple guidé:
1# Où suis-je ?2pwd3 4# Que contient le dossier courant, avec détails lisibles ?5ls -lah6 7# Changer de dossier, puis revenir en arrière8cd Documents9cd -
Remarquez que l’option -l
de ls
modifie l’affichage, -a
inclut les fichiers cachés et -h
humanise les tailles. Ces drapeaux sont combinables: -lah
.
#Lire, écrire et enchaîner
Une commande écrit souvent un “flux” de texte. Le caractère |
(pipe) permet de le passer à une deuxième commande, comme une phrase à deux verbes. Essayez d’afficher les 5 premières lignes d’un gros fichier sans l’ouvrir dans un éditeur:
1cat gros-fichier.log | head -n 5
cat
lit, head
prélève. On peut continuer la phrase: convertir en minuscules (tr 'A-Z' 'a-z'
), trier (sort
), enlever les doublons (uniq
). Ces outils deviennent des “briques Lego”.
#Mini‑exercice (5 minutes)
But: compter combien de fois apparaît le mot “error” (insensible à la casse) dans un fichier app.log
puis sortir le top 3 des messages les plus récurrents.
Piste:
1grep -i "error" app.log | cut -d"]" -f2 | sort | uniq -c | sort -nr | head -n 3
Ne mémorisez pas la ligne; comprenez le film: on filtre (grep
), on isole une colonne (cut
), on trie (sort
), on compte (uniq -c
), on trie par nombre décroissant (sort -nr
), on prend les 3 premiers (head
).
#Prochaine étape
Passez à “Bases du shell” pour creuser les redirections et les variables, puis enchaînez avec “Système de fichiers & permissions” avant d’aborder les processus, l’écriture de scripts et SSH.