
Affichage du contenu : `cat`, `less`, `more`, `head`, `tail`
Apprenez à afficher le contenu des fichiers texte sous Linux avec les commandes cat, less, more, head et tail. Des outils essentiels pour consulter vos données.
Inspecter le contenu de vos fichiers texte depuis le terminal
Après avoir créé, copié, déplacé ou organisé vos fichiers, vous aurez souvent besoin de consulter leur contenu, surtout s'il s'agit de fichiers texte (scripts, fichiers de configuration, code source, notes, logs, etc.). Linux offre une panoplie d'outils en ligne de commande pour afficher le contenu de ces fichiers directement dans votre terminal, sans avoir à les ouvrir dans un éditeur de texte graphique complet. Chacun de ces outils a ses propres caractéristiques et est adapté à des situations spécifiques.
Dans ce sous-chapitre, nous allons explorer cinq commandes couramment utilisées pour visualiser le contenu des fichiers : cat (pour concaténer et afficher), less (un visualiseur page par page très flexible), more (un visualiseur plus ancien, mais parfois encore rencontré), head (pour voir le début d'un fichier), et tail (pour voir la fin d'un fichier). Comprendre quand et comment utiliser chacun d'eux vous permettra d'inspecter rapidement et efficacement vos données textuelles.
Ces commandes sont indispensables pour le diagnostic, la lecture rapide de documentation ou la simple vérification du contenu d'un fichier.
Afficher tout le contenu d'un coup : la commande `cat` (Concatenate)
La commande cat tire son nom de "concatenate" (concaténer) car sa fonction première est de lire des fichiers séquentiellement et d'écrire leur contenu sur la sortie standard (par défaut, votre terminal). Si un seul fichier est fourni, elle affiche simplement son contenu.
cat [options] [FICHIER1] [FICHIER2] ...Pour afficher le contenu de mon_fichier.txt :
cat mon_fichier.txtSi le fichier est long, tout son contenu défilera rapidement dans le terminal, et vous ne verrez que la fin. C'est pourquoi cat est surtout utile pour les fichiers courts ou lorsqu'il est combiné avec d'autres commandes (via les tubes, que nous verrons plus tard).
Comme son nom l'indique, cat peut afficher le contenu de plusieurs fichiers à la suite :
cat introduction.txt chapitre1.txt conclusion.txtCeci affichera le contenu des trois fichiers l'un après l'autre. Vous pouvez rediriger cette sortie vers un nouveau fichier pour les combiner :
cat introduction.txt chapitre1.txt conclusion.txt > livre_complet.txtOptions utiles de cat :
-n(ou--number) : Numérote toutes les lignes en sortie.-b(ou--number-nonblank) : Numérote uniquement les lignes non vides.-s(ou--squeeze-blank) : Supprime les lignes vides multiples consécutives pour n'en laisser qu'une seule.-E(ou--show-ends) : Affiche un$à la fin de chaque ligne. Utile pour voir les espaces de fin de ligne.-T(ou--show-tabs) : Affiche les tabulations comme^I.
Exemple avec option :
cat -n script.shNaviguer page par page : les commandes `less` et `more`
Lorsque les fichiers sont trop longs pour être affichés en une seule fois avec cat, les visualiseurs page par page comme less et more sont beaucoup plus pratiques.
less : Le visualiseur flexible (recommandé)less est un visualiseur de texte puissant qui permet de naviguer en avant et en arrière dans un fichier, de rechercher du texte, etc. Son nom est un jeu de mot sur more ("less is more"). C'est généralement l'outil préféré pour consulter des fichiers.Syntaxe : less [options] FICHIER
less /var/log/syslogUne fois dans less, voici quelques commandes de navigation :
- Espace ou Page Bas (PgDn) : Avancer d'une page.
- b ou Page Haut (PgUp) : Reculer d'une page.
- Flèche Bas : Avancer d'une ligne.
- Flèche Haut : Reculer d'une ligne.
- g : Aller au début du fichier.
- G : Aller à la fin du fichier.
- /texte_a_chercher (puis Entrée) : Rechercher "texte_a_chercher" vers l'avant.
- ?texte_a_chercher (puis Entrée) : Rechercher "texte_a_chercher" vers l'arrière.
- n : Répéter la dernière recherche dans la même direction.
- N : Répéter la dernière recherche dans la direction opposée.
- h : Afficher l'aide des commandes de
less. - q : Quitter
less.
Options utiles de less :
-N: Affiche les numéros de ligne.-S: Coupe les lignes longues au lieu de les faire passer à la ligne suivante (wrap). Vous pouvez alors utiliser les flèches gauche/droite pour faire défiler horizontalement. Très utile pour les fichiers de log larges.-i: Ignore la casse lors des recherches (sauf si le terme recherché contient des majuscules).+G: Ouvre le fichier et va directement à la fin (utile pour les logs).
more : L'ancêtremore est un visualiseur plus simple et plus ancien. Il permet principalement de faire défiler vers l'avant.Syntaxe : more [options] FICHIER
Commandes de base dans more :
- Espace : Page suivante.
- Entrée : Ligne suivante.
- q : Quitter.
Bien que less soit généralement préférable pour ses fonctionnalités étendues, more peut encore être trouvé sur certains systèmes minimaux ou anciens.
Voir les extrémités : les commandes `head` et `tail`
Parfois, vous n'avez pas besoin de voir tout le fichier, mais seulement son début ou sa fin. C'est là qu interviennent head et tail.
head : Afficher le début d'un fichierhead affiche par défaut les 10 premières lignes d'un fichier.Syntaxe : head [options] FICHIER
head mon_long_fichier.txtOptions utiles de head :
-n(ou-) : Affiche lespremières lignes au lieu de 10. Par exemple,head -n 5 script.shaffiche les 5 premières lignes.head -5 script.shfait de même.-c: Affiche lespremiers octets.
tail : Afficher la fin d'un fichiertail affiche par défaut les 10 dernières lignes d'un fichier. C'est extrêmement utile pour consulter les fichiers de log, car les entrées les plus récentes sont généralement à la fin.Syntaxe : tail [options] FICHIER
tail /var/log/syslogOptions utiles de tail :
-n(ou-) : Affiche lesdernières lignes.tail -n 20 messages.log.-c: Affiche lesderniers octets.-f(ou--follow) : C'est l'option la plus puissante detail. Elle affiche les dernières lignes du fichier, puis reste active et continue d'afficher les nouvelles lignes qui sont ajoutées au fichier en temps réel. Indispensable pour surveiller les logs ou la sortie d'un processus. Pour arrêter, utilisez Ctrl+C.tail -f /var/log/auth.log-F: Similaire à-f, mais avec une gestion plus robuste si le fichier de log est renommé ou recréé (rotation des logs).
Ces cinq commandes (cat, less, more, head, tail) couvrent la grande majorité des besoins en matière d'affichage de contenu de fichiers texte en ligne de commande. Choisir la bonne commande pour la tâche à accomplir rendra votre travail sous Linux plus efficace et agréable.