Comment afficher le contenu d’un fichier texte sur Linux

Si vous êtes nouveau à Linux et que vous êtes confiné à un terminal, vous pouvez vous demander comment afficher un fichier dans la ligne de commande.

La lecture d'un fichier dans la borne Linux n'est pas la même que celle du fichier d'ouverture dans le bloc-notes.
Depuis que vous êtes en mode de ligne de commande, vous devez utiliser des commandes pour lire le fichier sous Linux.

Voici plusieurs commandes qui vous permettent d'afficher le contenu d'un fichier dans le terminal Linux.

Comment afficher le contenu d'un fichier texte sur Linux

Comment afficher le contenu d'un fichier texte sur Linux

cat

La commande cat est une commande qui affiche le contenu d'un fichier dans la sortie du terminal.
C'est la façon la plus simple pour lire le contenu d'un fichier en ligne de commandes.

La syntaxe est simple puisqu'il suffit de spécifier le nom du fichier :

cat fichier.txt

Par exemple ci-dessous, on affiche le contenu du fichier test.txt :

Utiliser la commande cat pour afficher le contenu d'un fichier sur Linux

Elle offre beaucoup d'options, par exemple pour afficher les numéros de lignes ou encore pouvoir concaténer des fichiers textes.
Le tutoriel suivant vous guide pour utiliser cat avec de nombreux exemples :

L'une des principales limites est lorsqu'il s'agit d'afficher des fichiers volumineux.
Car on se retrouve alors avec des centaines ou milliers de lignes dans le terminal.
On peut toutefois utiliser la sortie pour rediriger vers grep pour recherche le contenu.
Mais pour afficher le contenu d'un fichier volumineux, il vaut mieux utiliser less.

nl

La commande nl (number lines) fonctionne comme cat pour afficher le contenu d'un fichier dans le terminal.
La seule différence est qu'elle affiche les numéros de lignes.

A noter que cat sait aussi le faire avec l'option -n :

cat -n fichier.txt

less

La commande less affiche le contenu d'un fichier par page.
Elle permet d'utiliser des commandes pour manipuler le fichier.
Par exemple, vous pouvez effectuer des recherches, placer un marquer pour revenir sur une partie du fichier, transférer le contenu vers un éditeur de fichiers.

C'est la commande idéale pour afficher le contenu d'un fichier volumineux car elle donne la possibilité de naviguer complètement dans ce dernier.

Le tutoriel suivant vous guide pour utiliser Less :

Il existe aussi la commande more qui fonctionne un peu de la même manière.

Afficher le contenu d'un fichier avec la commande less sur Linux

more

La commande more est très similaire à less et suit le même but : afficher des fichiers importants dans un terminal.
Cependant elle propose beaucoup moins d'options que son homologue.
Comme souvent avec Linux, il s'agit avant tout de préférences et d'habitudes dans le choix des commandes.

head

La commande head est une autre façon de consulter un fichier texte, mais avec une légère différence.
Elle affiche les 10 premières lignes d'un fichier texte par défaut.
Mais avec des options on peut choisir le nombre de lignes à afficher.
Ainsi, vous pouvez afficher les N premières lignes d'un fichier et même les N dernières lignes d'un fichier.

head -n 2 rose-tatoo.txt
Afficher les N premières lignes d'un fichier avec la commande head sur Linux

tail

La commande tail génère les dernières parties d'un seul fichier ou plusieurs fichiers.
Par défaut, la commande tail imprime les dix dernières lignes des fichiers d'entrée.
Enfin on peut aussi l'utiliser pour la lecture de fichiers journaux en temps réel.

tail [options] [fichier]

Par défaut, elle affiche les 10 dernières lignes d'un fichier :

Comment utiliser la commande tail

Mais on peut très bien afficher le nombre de lignes que l'on souhaite avec l'option -n :

tail -n 5 rose-tatoo.txt

Elle permet même d'afficher les ajouts d'un fichier en temps réel, ce qui est idéal pour suivre les modifications d'un fichier comme un journal.
Plus d'informations :

Combiner les commandes pour afficher le contenu d'un fichier texte

Grâce à la commande pipe, il est possible d'envoyer la sortie d'une commande vers une autre afin de combiner les commandes.
Par exemple, on peut utiliser cat avec grep afin de filtrer le contenu d'un fichier texte et afficher que les lignes avec des mots en particulier.
En clair cela permet de rechercher un motif dans un texte.

Par exemple, nous recherche le mot GPL :

cat /usr/share/common-licenses/GPL-3|grep GPL
Combiner les commandes pour afficher le contenu d'un fichier texte

Autre exemple, avec a commande Head imprime les 10 premières lignes du fichier. Ensuite, la commande tail prend cette sortie et imprime toutes les lignes à partir du numéro de ligne 5. Cela vous donne les lignes de 5 à 10.

head -n 10 rose-tatoo.txt | tail -n +5

On peut aussi jouer sur les colonnes avec sort pour trier, cut pour afficher que les colonnes qui nous interressent.
Et bien d'autres utilisations plus complexes avec awk et sed.

Les commandes de base Linux pour afficher le contenu d'un fichier

CommandesActions
awk / gawkLangage de balayage et de traitement des motifs
catAfficher le contenu d'un fichier
cutSupprimer des sections d'un fichier
grepRechercher l'occurence dans un fichier
headAfficher l'entête du fichier
moreAfficher le contenu d'un fichier page par page
lessComme more mais en plus rapide
lookMontre les lignes commençant par un pattern
nlEcrit chaque fichier sur la sortie standard, avec des numéros de ligne ajoutés
sedRecherche/remplacer, substitution de texte
sortTrier le flux d'entrée
teeLit l'entrée standard et l'écrit à la fois dans la sortie standard et dans un ou plusieurs fichiers
tailAffiche les dernières lignes d'un fichier
trTransforme une liste de caractère en une autre liste
wcAfficher le nombre de lignes d'un fichier texte
Les commandes de base Linux sur les textes

Tags: