Contenu des fichiers et comparaison

LinuxBeginner
Pratiquer maintenant

Introduction

Bienvenue dans ce laboratoire pratique consacré à l’utilisation des fichiers sous Linux ! Si vous débutez avec Linux, ne vous inquiétez pas : nous vous guiderons attentivement à chaque étape. Dans ce laboratoire, vous apprendrez à afficher le contenu des fichiers, à consulter des parties précises de fichiers et à comparer des fichiers. Il s’agit de compétences fondamentales qui vous aideront à parcourir et à comprendre le système de fichiers Linux.

Afficher le contenu d’un fichier

Commencez par ouvrir un terminal sur le bureau OU sélectionnez l’onglet du terminal dans l’environnement du laboratoire.

Capture d’écran de la fenêtre du terminal

Une fois le terminal ouvert, vous devez voir une invite de commande, qui se termine généralement par le symbole $. C’est à cet endroit que vous saisirez les commandes.

Utilisons maintenant la commande cat pour afficher le contenu d’un fichier :

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
cat /tmp/hello

Ici, /tmp/hello est le chemin du fichier que nous voulons consulter. /tmp est un répertoire de votre système et hello est le nom du fichier situé dans ce répertoire.

  1. Après avoir appuyé sur Entrée, vous devez voir le contenu du fichier :
Hi,
I am Labby!

Il s’agit de tout le contenu du fichier /tmp/hello. La commande cat l’a affiché dans le terminal.

Afficher le contenu d’un fichier avec les numéros de ligne

Utilisons à nouveau la commande cat, mais ajoutons cette fois les numéros de ligne à la sortie.

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
cat -n /tmp/hello

L’option -n indique à cat de numéroter toutes les lignes affichées.

  1. Vous devez maintenant voir le contenu du fichier avec les numéros de ligne :
     1 Hi,
     2 I am Labby!

Cette option est particulièrement utile lorsque vous travaillez avec des fichiers plus longs et que vous devez faire référence à des lignes précises.

Afficher les premières lignes d’un fichier

Utilisons ensuite la commande head. Comme son nom l’indique, head permet d’afficher le début, ou la « tête », d’un fichier.

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
head -n1 /tmp/hello

Ici, l’option -n1 indique à head d’afficher uniquement la première ligne. Vous pouvez remplacer 1 par n’importe quel nombre pour afficher ce nombre de lignes.

  1. Vous devez obtenir la sortie suivante :
Hi,

Il s’agit uniquement de la première ligne du fichier. Par défaut, sans l’option -n1, head affiche les 10 premières lignes du fichier.

Afficher les premiers octets d’un fichier

Utilisons à nouveau la commande head, mais cette fois pour afficher un nombre précis d’octets au début d’un fichier.

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
head -c1 /tmp/hello

L’option -c1 indique à head d’afficher uniquement le premier octet du fichier. Comme avec -n, vous pouvez remplacer 1 par n’importe quel nombre pour afficher ce nombre d’octets.

  1. Vous devez obtenir la sortie suivante :
H

Il s’agit uniquement du 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 supposer, tail est l’opposé de head : elle affiche la fin d’un fichier.

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
tail -n1 /tmp/hello

Comme avec head, l’option -n1 indique à tail d’afficher une seule ligne, ici la dernière ligne du fichier.

  1. Vous devez obtenir la sortie suivante :
I am Labby!

Il s’agit de la dernière ligne de notre fichier. Sans l’option -n1, tail affiche par défaut les 10 dernières lignes.

Afficher les derniers octets d’un fichier

Comme avec head, vous pouvez utiliser tail pour afficher un nombre précis d’octets à partir de la fin d’un fichier.

  1. Commençons par afficher le dernier octet. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
tail -c1 /tmp/hello

Vous ne verrez peut-être aucune sortie. Cela s’explique probablement par le fait que le dernier caractère est un caractère de nouvelle ligne, qui est invisible.

  1. Essayons maintenant d’afficher les deux derniers octets. Saisissez la commande suivante, puis appuyez sur Entrée :
tail -c2 /tmp/hello
  1. Vous devez maintenant voir :
!

L’option -c2 indique à tail d’afficher les 2 derniers octets du fichier. Ici, elle affiche le point d’exclamation, qui est le dernier caractère visible de notre fichier.

Comparer des fichiers

Vous allez maintenant apprendre à utiliser la commande diff pour comparer deux fichiers et afficher leurs différences.

  1. Commencez par vérifier que vous vous trouvez dans le bon répertoire. Saisissez la commande suivante, puis appuyez sur Entrée :
cd ~/project

Cette commande définit le répertoire courant sur le dossier project situé dans votre répertoire personnel. Le symbole ~ est un raccourci qui désigne votre répertoire personnel.

  1. Comparez maintenant deux fichiers. Saisissez la commande suivante, puis appuyez sur Entrée :
diff file1 file2

Cette commande demande à diff de comparer le contenu de file1 et de file2.

  1. Vous devez obtenir une sortie similaire à celle-ci :
1c1
< this is file1
---
> this is file2

Examinons la signification de cette sortie. La commande diff produit une sortie qui décrit les modifications nécessaires pour rendre le premier fichier identique au second. L’ordre dans lequel les fichiers ont été créés ou modifiés n’a pas d’importance : diff compare uniquement leur contenu au moment où vous exécutez la commande.

  • 1c1 : cela indique que la ligne 1 du premier fichier doit être changée pour correspondre à la ligne 1 du second fichier.
  • < this is file1 : le symbole < indique une ligne provenant du premier fichier (file1).
  • --- : il s’agit d’un séparateur entre les lignes de file1 et de file2.
  • > this is file2 : le symbole > indique une ligne provenant du second fichier (file2).

En termes simples, diff nous montre que le contenu de la ligne 1 est différent dans les deux fichiers. Pour que file1 corresponde à file2, il faudrait remplacer la ligne « this is file1 » par « this is file2 ».

Comparer des répertoires

Pour terminer, utilisez la commande diff afin de comparer des répertoires entiers.

  1. Dans le terminal, saisissez la commande suivante, puis appuyez sur Entrée :
diff -r ~/Desktop ~/Code

L’option -r indique à diff de comparer également les sous-répertoires de manière récursive. ~/Desktop et ~/Code sont les chemins des deux répertoires que nous comparons.

  1. Vous pouvez obtenir une sortie similaire à celle-ci :
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

Cette sortie indique que le répertoire Desktop contient quatre fichiers qui ne se trouvent pas dans le répertoire Code.

Résumé

Félicitations ! Vous avez terminé le laboratoire « Contenu des fichiers et comparaison ». Récapitulons ce que vous avez appris :

  1. Vous avez utilisé cat pour afficher l’intégralité du contenu d’un fichier.
  2. Vous avez appris à utiliser cat -n pour afficher le contenu d’un fichier avec les numéros de ligne.
  3. Vous avez utilisé head pour afficher le début d’un fichier, en fonction des lignes ou des octets.
  4. Vous avez utilisé tail pour afficher la fin d’un fichier, en fonction des lignes ou des octets.
  5. Vous avez appris à utiliser diff pour comparer le contenu de fichiers.
  6. Enfin, vous avez utilisé diff -r pour comparer des répertoires entiers.

Ces commandes sont des outils fondamentaux sous Linux. En continuant à travailler avec Linux, vous les utiliserez fréquemment pour examiner et comparer des fichiers et des répertoires.

Si vous oubliez un jour comment utiliser une commande, vous pouvez saisir man suivi du nom de la commande, par exemple man cat, afin d’afficher la page de manuel de cette commande. Vous y trouverez des informations détaillées sur toutes les options disponibles pour chaque commande.

Continuez à vous entraîner avec ces commandes sur différents fichiers et répertoires afin de vous familiariser avec leur utilisation. Plus vous les utiliserez, plus elles vous sembleront naturelles !