Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 4 — Threads

12. Laboratoire enregistré : Unix, pipelines et Bash

LECTURE 15 / 196 repèresSynthèse avec omissions acceptées

12. Laboratoire enregistré : Unix, pipelines et Bash

12.1 Commandes spécialisées

La séance présente man, whatis et les options d’aide, puis :

Tableau 1 — Commande · Rôle principal dans la séance
Commande Rôle principal dans la séance
tac Inverser les lignes d’un fichier.
less Consulter un long texte page par page.
find Rechercher des fichiers selon des critères.
grep Conserver les lignes correspondant à un motif.
sort Trier du texte selon l’ordre choisi.
uniq Éliminer les doublons adjacents.
wc Compter lignes, mots ou caractères.
head, tail Sélectionner le début ou la fin.
du Mesurer l’espace occupé.
curl Transférer une ressource ou tester un service réseau.
sed Transformer un flux ligne par ligne.
awk Traiter des données structurées en champs.
kill, sleep Envoyer un signal; suspendre pour une durée.

12.2 Exercices 9 à 12 : filtres et composition

L’exercice 9 extrait avec grep les lignes contenant error. L’exercice 10 applique uniq; celui-ci ne supprime que les répétitions consécutives, de sorte qu’un sort préalable peut être nécessaire. L’exercice 11 emploie sed et une expression régulière pour transformer certains error 4xx en warning 4xx tout en conservant le numéro capturé.

L’exercice 12 fusionne ces étapes dans un pipeline : filtrage, déduplication, substitution, puis redirection. Cette version évite les fichiers intermédiaires et rend la circulation des données explicite.

12.3 Opérateurs et redirections

Tableau 2 — Opérateur · Décision
Opérateur Décision
; Exécuter la suite indépendamment du résultat précédent.
&& Exécuter la suite seulement après un succès.
`
` `
> Créer ou remplacer le fichier de sortie.
>> Ajouter au fichier de sortie.

Un here-document fournit plusieurs lignes à une commande jusqu’à un délimiteur. echo -e interprète des séquences comme la tabulation et le saut de ligne.

12.4 Exercices 13 et 14 : fichiers et tableaux

L’exercice 13 cherche les cinq plus gros fichiers : find retient les fichiers, du mesure chacun d’eux, sort classe en ordre numérique décroissant et head conserve les cinq premiers. Il faut distinguer le tri lexicographique du tri numérique ou « humain »; sans option appropriée, 10 peut être placé avant 2.

L’exercice 14 traite un TSV avec identifiant, date, nom, type et taille. Un premier awk conserve la taille — nécessaire comme clé de tri — et le nom. sort classe, head retient l’en-tête et les dix plus petites valeurs, puis un dernier awk n’affiche que le nom. Une colonne peut donc être nécessaire pendant le calcul sans appartenir au résultat final.

12.5 Script Bash et code de retour

Le script de démonstration couvre :

  • la ligne d’interpréteur et les commentaires;
  • $0, $1, $2 et $@;
  • les variables et le répertoire courant;
  • la différence entre guillemets doubles, qui permettent l’expansion, et simples, qui conservent le texte littéral;
  • les conditions, les boucles for et while, et les fonctions;
  • le droit d’exécution du fichier.

L’exercice 15 teste un serveur local avec curl. $? contient le code de retour de la commande précédente : 0 signifie succès et une valeur non nulle signale un échec. La sortie peut être redirigée lorsque seul le statut intéresse le script.

L’exercice 16 répète un test et revient à une révision précédente tant que le serveur échoue. Dans un vrai dépôt, un retour arrière modifie l’état de travail; il faut sauvegarder et choisir une méthode récupérable avant d’automatiser cette boucle.

Retour au sommaire de l’unitéHaut de page
Récupérer manuellement les données locales

Copier séparément les données ci-dessous dans des fichiers texte avant de fermer la page ou de modifier le stockage. Une valeur illisible ou incompatible reste en place. Aucun effacement ni rétablissement écrasant n’est effectué automatiquement. L’export/import JSON est disponible sur la page Progression du cours. Cette récupération séparée reste utile pour une valeur brute ou un conflit.

Clé de ce cours : . Format v1 porté par cette clé; dates UTC et identifiants durables.

Si l’accès est refusé, la valeur persistée peut rester inaccessible. Réautoriser le stockage dans le navigateur puis rouvrir ce cours permet de la relire. Une réinitialisation exige une décision explicite après récupération; aucune commande de suppression n’est proposée ici. Les données restent sur cette origine et cet appareil, sans transfert automatique.