Introduction
Bienvenue dans cet atelier pratique consacré à la manipulation de fichiers sous Linux ! Si vous débutez avec Linux, ne vous inquiétez pas. Nous allons vous guider pas à pas. Dans cet atelier, vous apprendrez à visualiser le contenu des fichiers, à en examiner des parties spécifiques et à comparer des fichiers entre eux. Ce sont des compétences fondamentales qui vous aideront à naviguer et à comprendre le système de fichiers Linux.
Afficher le contenu d'un fichier
Tout d'abord, veuillez ouvrir un terminal sur le Bureau OU basculer vers l'onglet terminal dans l'environnement de l'atelier.

Une fois le terminal ouvert, vous devriez voir une invite de commande, se terminant généralement par le symbole $. C'est ici que nous saisirons nos commandes.
Utilisons maintenant la commande cat pour afficher le contenu d'un fichier :
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
cat /tmp/hello
Ici, /tmp/hello est le chemin du fichier que nous voulons consulter. /tmp est un répertoire (dossier) de votre système, et hello est le nom du fichier situé dans ce répertoire.
- Après avoir appuyé sur Entrée, vous devriez voir le contenu du fichier :
Hi,
I am Labby!
C'est tout ce que contient le fichier /tmp/hello. La commande cat l'a affiché pour nous directement dans le terminal.
Afficher le contenu d'un fichier avec numérotation des lignes
Utilisons à nouveau la commande cat, mais cette fois-ci, nous allons ajouter des numéros de ligne à la sortie.
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
cat -n /tmp/hello
Le -n est ici ce qu'on appelle une option ou un drapeau (flag). Il indique à cat de numéroter toutes les lignes affichées.
- Vous devriez maintenant voir le contenu du fichier avec les numéros de ligne :
1 Hi,
2 I am Labby!
Cela s'avère très utile lorsque vous travaillez sur des fichiers longs et que vous devez vous référer à des lignes précises.
Afficher les premières lignes d'un fichier
Ensuite, nous allons utiliser la commande head. Comme son nom l'indique ("tête" en anglais), head sert à visualiser le début d'un fichier.
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
head -n1 /tmp/hello
Ici, -n1 est une option qui demande à head de n'afficher que la première ligne. Vous pouvez remplacer le 1 par n'importe quel nombre pour afficher le nombre de lignes souhaité.
- Vous devriez voir ce résultat :
Hi,
Il s'agit uniquement de la première ligne du fichier. Par défaut, sans l'option -n1, head afficherait les 10 premières lignes.
Visualiser les premiers octets d'un fichier
Nous allons utiliser à nouveau la commande head, mais cette fois pour visualiser un nombre spécifique d'octets depuis le début du fichier.
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
head -c1 /tmp/hello
L'option -c1 indique à head de n'afficher que le premier octet (caractère) du fichier. Comme pour -n, vous pouvez modifier le chiffre 1 pour voir plus d'octets.
- Vous devriez voir ce résultat :
H
C'est le tout premier caractère du fichier. Dans les fichiers texte, chaque caractère correspond généralement à un octet.
Afficher les dernières lignes d'un fichier
Passons maintenant à la commande tail. Comme vous pouvez le deviner, tail ("queue" en anglais) est l'opposé de head : elle affiche la fin d'un fichier.
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
tail -n1 /tmp/hello
Tout comme avec head, l'option -n1 indique à tail de n'afficher qu'une seule ligne, dans ce cas, la toute dernière du fichier.
- Vous devriez voir ce résultat :
I am Labby!
C'est la dernière ligne de notre fichier. Sans l'option -n1, tail afficherait par défaut les 10 dernières lignes.
Visualiser les derniers octets d'un fichier
De la même manière qu'avec head, nous pouvons utiliser tail pour afficher un nombre précis d'octets à partir de la fin d'un fichier.
- Essayons d'abord de voir le dernier octet. Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
tail -c1 /tmp/hello
Il est possible que vous ne voyiez aucun résultat visible. C'est parce que le dernier caractère est probablement un saut de ligne, qui est invisible à l'écran.
- Essayons plutôt de visualiser les deux derniers octets. Tapez la commande suivante et appuyez sur Entrée :
tail -c2 /tmp/hello
- Vous devriez maintenant voir :
!
L'option -c2 demande à tail d'afficher les 2 derniers octets (caractères) du fichier. Ici, elle affiche le point d'exclamation, qui est le dernier caractère visible de notre fichier.
Comparer des fichiers
Nous allons maintenant apprendre à utiliser la commande diff pour comparer deux fichiers et identifier les différences entre eux.
- Tout d'abord, assurons-nous d'être dans le bon répertoire. Tapez la commande suivante et appuyez sur Entrée :
cd ~/project
Cela change notre répertoire actuel pour le dossier "project" situé dans votre dossier personnel. Le symbole ~ est un raccourci pour désigner votre répertoire personnel (home).
- Comparons maintenant deux fichiers. Tapez la commande suivante et appuyez sur Entrée :
diff file1 file2
Cela demande à diff de comparer le contenu de file1 et file2.
- Vous devriez voir un résultat semblable à celui-ci :
1c1
< this is file1
---
> this is file2
Analysons la signification de ce résultat. La commande diff génère une sortie qui décrit les modifications nécessaires pour rendre le premier fichier identique au second. Peu importe quel fichier a été créé ou modifié en premier ; diff compare uniquement leur contenu au moment de l'exécution.
1c1: Cela indique que la ligne 1 du premier fichier doit être modifiée (changed) pour correspondre à la ligne 1 du second fichier.< this is file1: Le symbole<indique une ligne provenant du premier fichier (file1).---: C'est un séparateur entre les lignes defile1et defile2.> this is file2: Le symbole>indique une ligne provenant du second fichier (file2).
En résumé, diff nous montre que le contenu de la ligne 1 diffère entre les deux fichiers. Pour que file1 soit identique à file2, la ligne "this is file1" devrait être remplacée par "this is file2".
Comparer des répertoires
Enfin, utilisons la commande diff pour comparer des répertoires entiers.
- Dans le terminal, tapez la commande suivante et appuyez sur Entrée :
diff -r ~/Desktop ~/Code
L'option -r (récursif) indique à diff de comparer également les sous-répertoires. ~/Desktop et ~/Code sont les chemins des deux répertoires que nous comparons.
- Vous pourriez voir un résultat de ce type :
Only in /home/labex/Desktop: code.desktop
Only in /home/labex/Desktop: gedit.desktop
Only in /home/labex/Desktop: gvim.desktop
Only in /home/labex/Desktop: xfce4-terminal.desktop
Ce résultat indique que le répertoire Desktop contient quatre fichiers qui ne sont pas présents dans le répertoire Code.
Résumé
Félicitations ! Vous avez terminé l'atelier sur le contenu et la comparaison de fichiers. Récapitulons ce que vous avez appris :
- Vous avez utilisé
catpour visualiser l'intégralité d'un fichier. - Vous avez appris à utiliser
cat -npour afficher le contenu avec des numéros de ligne. - Vous avez utilisé
headpour voir le début d'un fichier, par lignes ou par octets. - Vous avez utilisé
tailpour voir la fin d'un fichier, par lignes ou par octets. - Vous avez appris à utiliser
diffpour comparer le contenu de deux fichiers. - Enfin, vous avez utilisé
diff -rpour comparer des répertoires entiers.
Ces commandes sont des outils fondamentaux sous Linux. Au fur et à mesure de votre progression, vous les utiliserez fréquemment pour inspecter et comparer vos fichiers et dossiers.
N'oubliez pas que si vous oubliez comment utiliser une commande, vous pouvez toujours taper man suivi du nom de la commande (par exemple, man cat) pour consulter le manuel. Vous y trouverez des informations détaillées sur toutes les options disponibles.
Continuez à vous exercer avec ces commandes sur différents fichiers pour vous familiariser avec elles. Plus vous les utiliserez, plus elles vous sembleront naturelles !



