#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 5cat 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 3Ne 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.