Bonjour ! Dans la leçon précédente, vous avez appris à manipuler les fichiers et les dossiers, en les créant, copiant, déplaçant et supprimant. Vous savez désormais comment organiser la structure de votre système de fichiers.
Cependant, un fichier n'est utile que si l'on peut consulter son contenu. Aujourd'hui, nous allons nous concentrer sur cet aspect essentiel. L'objectif est d'apprendre à consulter le contenu des fichiers directement depuis la ligne de commande, sans avoir besoin d'une interface graphique. C'est une compétence que tout administrateur systèmes et réseaux utilise des dizaines de fois par jour, que ce soit pour lire un fichier de configuration, inspecter un script ou, surtout, analyser des fichiers de logs pour diagnostiquer un problème.
Nous allons découvrir quatre commandes fondamentales :
cat: Pour afficher le contenu intégral d'un fichier.less: Pour parcourir de longs fichiers de manière interactive.head: Pour visualiser le début d'un fichier.tail: Pour visualiser la fin d'un fichier, avec une option très puissante pour le suivi en temps réel.
À la fin de cette leçon, vous saurez choisir le bon outil pour chaque situation de lecture de fichier en ligne de commande.
1. cat : L'affichage direct
La commande cat (abréviation de concatenate) est la manière la plus simple d'afficher le contenu d'un fichier. Elle lit le fichier et affiche la totalité de son contenu dans le terminal.
Essayons avec un fichier de configuration système qui est généralement court. Tapez la commande suivante dans le terminal de votre machine virtuelle :
cat /etc/os-release
Vous verrez des informations sur votre distribution Ubuntu s'afficher. Pour des fichiers courts comme celui-ci, cat est parfait.
Cependant, que se passe-t-il si le fichier est long ? Essayons avec un journal système (il se peut que vous deviez utiliser sudo si vous n'avez pas les droits de lecture) :
cat /var/log/syslog
Le texte défile à toute vitesse et vous vous retrouvez à la fin du fichier, sans avoir pu lire ce qui se trouvait au début. C'est le principal inconvénient de cat : il est inadapté aux fichiers volumineux.
Pour en savoir plus sur cat et ses options, comme la numérotation des lignes, consultez la ressource suivante.
Les commandes Linux essentielles
Ce guide de Stéphane Robert explique de manière concise l'utilisation de la commande cat et quelques-unes de ses options utiles.
Lisez la section intitulée 'cat'. Notez l'option -n qui peut être pratique pour numéroter les lignes.
2. less : Le lecteur interactif pour fichiers longs
Pour résoudre le problème des fichiers longs, nous avons des "paginations" (ou pagers). La commande la plus moderne et la plus utilisée est less. Elle vous permet de visualiser un fichier page par page et de naviguer à l'intérieur de manière interactive.
Reprenons notre fichier journal, mais cette fois avec less :
less /var/log/syslog
Le terminal affiche le début du fichier et attend vos instructions. Vous pouvez maintenant :
- Utiliser les flèches haut et bas pour vous déplacer ligne par ligne.
- Utiliser les touches Page Suivante (ou la barre d'espace) et Page Précédente pour naviguer plus vite.
- Taper
/suivi d'un mot (ex:/error) puisEntréepour rechercher ce mot dans le fichier. - Appuyer sur la touche
qpour quitterlesset revenir au terminal.
Comme vous pouvez le constater, less est bien plus puissant que cat pour la lecture. Il existe un vieil adage dans le monde Linux : "less is more" (less, c'est plus), car less est une version améliorée d'une ancienne commande nommée more.
Les commandes Linux essentielles
Pour maîtriser la navigation et la recherche dans less, je vous invite à lire la section dédiée dans le même guide que précédemment.
Lisez la section 'less' et sa sous-section 'Les fonctionnalités de less'. Prenez le temps de tester les commandes de navigation et la fonction de recherche.
3. head et tail : Regarder le début et la fin
Souvent, on n'a pas besoin de lire un fichier en entier. On veut juste voir les premières lignes (par exemple, les en-têtes d'un fichier CSV) ou les dernières lignes (les événements les plus récents dans un fichier de log). C'est là que head (tête) et tail (queue) entrent en jeu.
headaffiche les 10 premières lignes d'un fichier par défaut.tailaffiche les 10 dernières lignes d'un fichier par défaut.
Essayez les deux sur votre fichier journal :
head /var/log/syslog
tail /var/log/syslog
Vous pouvez facilement changer le nombre de lignes à afficher avec l'option -n. Par exemple, pour voir les 5 dernières lignes :
tail -n 5 /var/log/syslog
Cette fonctionnalité est extrêmement utile pour obtenir un aperçu rapide d'un fichier volumineux sans l'ouvrir entièrement.

Le super-pouvoir de tail : le suivi en temps réel
La commande tail possède une option qui est l'un des outils les plus importants pour un administrateur système : l'option -f (pour follow ou suivre).
tail -f nom_du_fichier affiche les dernières lignes du fichier, mais au lieu de s'arrêter, la commande reste active et affiche en temps réel toute nouvelle ligne ajoutée au fichier. C'est le moyen par excellence pour surveiller l'activité d'un service en direct.
Mettons cela en pratique. Vous aurez besoin d'ouvrir deux terminaux connectés à votre machine virtuelle. Placez-les côte à côte.
-
Dans le Terminal 1, créez un fichier de log factice et commencez à le surveiller :
cd ~ touch mon_app.log tail -f mon_app.logLe curseur va clignoter, attendant de nouvelles données.
-
Dans le Terminal 2, simulez une application qui écrit dans ce fichier de log. Utilisez la commande
echoavec l'opérateur>>pour ajouter du texte à la fin du fichier :cd ~ echo "10:30:00 - INFO - L'utilisateur s'est connecté." >> mon_app.logObservez le Terminal 1 : la ligne que vous venez d'ajouter apparaît instantanément !
-
Ajoutez une autre ligne dans le Terminal 2 :
echo "10:30:05 - ERREUR - Connexion à la base de données échouée." >> mon_app.logEncore une fois, la ligne s'affiche en temps réel dans le Terminal 1.
Pour arrêter la commande tail -f, retournez dans le Terminal 1 et appuyez sur Ctrl + C.
Cette technique est fondamentale pour le dépannage : vous lancez tail -f sur un fichier de log, puis vous effectuez l'action qui pose problème (par exemple, recharger une page web) et vous voyez les erreurs apparaître en direct.
4. Mise en pratique
Il est temps de combiner tout ce que vous avez appris.
Exercice : Analyse d'un fichier de "logs"
-
D'abord, créons un long fichier de texte pour simuler un fichier de log. La commande suivante va lister de manière récursive le contenu du dossier
/etcet enregistrer le résultat dans un fichier nomméetc_contents.txtdans votre répertoire personnel.cd ~ ls -lR /etc > etc_contents.txt -
Le fichier
etc_contents.txtest très long. Essayez de l'afficher aveccat. Vous verrez que ce n'est pas pratique. -
Utilisez
headpour voir à quoi ressemblent les 15 premières lignes du fichier.Solution
`head -n 15 etc_contents.txt` -
Maintenant, utilisez
tailpour voir les 20 dernières lignes.Solution
`tail -n 20 etc_contents.txt` -
Le fichier contient la liste de tous les fichiers de configuration. Ouvrez-le avec
lesset utilisez la fonction de recherche (/) pour trouver la ligne contenant le mothosts(un fichier important pour la résolution de noms réseau).Solution
`less etc_contents.txt`
Puis, une fois dans `less`, tapez `/hosts` et appuyez sur `Entrée`.
Ce petit exercice simule une tâche courante : explorer un fichier volumineux pour trouver une information spécifique.
Conclusion
Félicitations ! Vous maîtrisez maintenant les commandes essentielles pour consulter des fichiers en ligne de commande, une compétence non négociable pour tout professionnel de l'IT travaillant sur Linux.
Points clés à retenir :
cat: Pour les fichiers courts ou pour concaténer des fichiers. Simple et direct.less: L'outil par défaut pour lire des fichiers de taille moyenne à grande. Il est interactif et puissant.headettail: Parfaits pour jeter un coup d'œil rapide au début ou à la fin d'un fichier, en particulier les logs.tail -f: Votre meilleur ami pour le dépannage en temps réel. Il permet de surveiller les fichiers de log au fur et à mesure qu'ils sont écrits.
Vous savez désormais naviguer dans les fichiers, les gérer et lire leur contenu. Il ne manque plus qu'une brique à notre socle de compétences : la modification.
Dans la prochaine leçon, nous aborderons justement ce sujet en apprenant à utiliser nano, un éditeur de texte simple et intuitif en ligne de commande. Vous pourrez alors modifier des fichiers de configuration, écrire des notes ou même créer vos premiers scripts.