Aller au contenu principal

Unix & Shell (L1)

Progression du module


#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é:

bashbash
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:

bashbash
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:

bashbash
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.

Sections