Station MinuitPortail personnel de révision

IFT-2001 — Systèmes d’exploitationAutomne 2026

Semaine 3 — Processus et appels système

14. Laboratoire 02 — filtres, composition et données

LECTURE 17 / 235 repèresSynthèse avec omissions acceptées

14. Laboratoire 02 — filtres, composition et données

14.1 Outils de flux

L'exercice 8 documente les outils suivants :

Tableau 1 — Commande · Fonction principale
Commande Fonction principale
tac Afficher les lignes en ordre inverse
less Parcourir un texte page par page
find Rechercher des entrées dans une arborescence
grep Conserver les lignes correspondant à un motif
sort Trier des lignes selon le mode choisi
uniq Supprimer ou compter les répétitions adjacentes
wc Compter lignes, mots ou octets/caractères
head, tail Lire le début ou la fin d'un flux
du Mesurer l'espace occupé par des fichiers ou dossiers
curl Émettre une requête réseau et écrire la réponse
sed Transformer un flux ligne par ligne
awk Sélectionner, calculer et reformater des champs
kill Envoyer un signal à un processus
sleep Suspendre l'exécution pendant une durée

La philosophie Unix favorise des programmes indépendants lisant et écrivant des flux textuels simples. Cette interface réduit le couplage et rend les composants remplaçables.

14.2 Exercices 9 à 14

Tableau 2 — Exercice · Transformation
Exercice Transformation
9 grep Error filtre messages.txt vers ~/errors.txt
10 uniq retire les doublons adjacents vers ~/errors_2.txt
11 sed transforme Error 4xx en Warning 4xx vers ~/errors_3.txt
12 `grep
13 find + du -sb + tri décroissant + head trouvent les cinq plus gros fichiers
14 awk + sort + head extraient les noms associés aux dix plus petites tailles d'un TSV

uniq ne supprime que les doublons adjacents. Dans un cas général, il faut souvent trier avant; les données de l'atelier sont préparées pour la séquence demandée.

14.3 Opérateurs

Tableau 3 — Forme · Sens
Forme Sens
a ; b Exécuter b après a sans dépendre du statut de a
a && b Exécuter b seulement si a retourne 0
`a
`a b`
> Remplacer un fichier par la sortie
>> Ajouter la sortie à la fin
< Lire l'entrée depuis un fichier
<<EOF Fournir plusieurs lignes jusqu'au délimiteur
2>&1 Faire suivre à l'erreur standard la destination actuelle de la sortie standard

Le code de sortie 0 représente conventionnellement le succès. $? contient le code de la dernière commande. Cette valeur alimente le contrôle de flux des scripts.

14.4 Incohérences du solutionnaire

Le PDF de solution contient quelques erreurs typographiques : mdkdir au lieu de mkdir, redirections omises dans certains blocs des exercices 9 à 11, séparateur de chemin incohérent et commentaire mentionnant le port 8080 alors que les commandes et corrections utilisent 8000. Les scripts correction_nn.sh et l'énoncé actuel tranchent ces ambiguïtés.

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.