6 exemples pour utiliser la commande tail sur Linux

La commande cat permet d'afficher le contenu d'un fichier dans la sortie d'un terminal.
C'est une des commandes les plus utilisé pour lire un fichier.
Parfois on ne souhaite pas afficher l'intégralité du fichier mais par exemple la fin du fichier pour n'afficher que les dernières modifications.
C'est notamment le cas des fichiers journaux du système ou d'une application.

Dans ce tutoriel, je vous donne 6 exemples pour utiliser la commande tail sur Linux.

6 exemples pour utiliser la commande tail sur Linux

Qu'est-ce que la commande tail ?

La commande tail, comme son nom l'indique, 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]

6 exemples pour utiliser la commande tail sur Linux

Imaginons le texte suivant dans le fichier rose-tatoo.txt :

1  The pictures tell the story
2  This life had many shades
3  I'd wake up every morning and before I'd start each day
4  I'd take a drag from last nights cigarette
5  That smoldered in its tray
6  Down a little something and then be on my way
7
8  I traveled far and wide
9  And laid this head in many ports
10  I was guided by a compass
11  I saw beauty to the north
12  I drew the tales of many lives
13  And wore the faces of my own
14  I had these memories all around me
15  So I wouldn't be alone

Contenu d'un fichier texte sur Linux

Voici une utilisation basique de tail ou on spécifie le nom du fichier sans aucune option :

tail rose-tatoo.txt

La commande tail affiche alors les 10 dernières lignes du fichier.

Comment utiliser la commande tail

Si le fichier comporte moins de dix lignes, tail affiche que les lignes disponibles.
Enfin si les dernières lignes sont vides, elles seront toujours comptées comme des lignes valides.

La commande tail possède plusieurs optons afin d'étendre les fonctionnalités.

Afficher les N dernières lignes d'un fichier avec tail

Voici l'utilisation principale de tail, pouvoir afficher les N dernières d'un fichier.
La syntaxe est la suivante :

tail -n N <filename>

Par exemple pour afficher les 5 dernières lignes du fichier rose-tatoo.txt :

tail -n 5 rose-tatoo.txt

Une utilisation plus rapide est la suivante :

tail -n 5 rose-tatoo.txt
Afficher les N dernières lignes avec tail

Afficher toutes les lignes à partir de N numéro de ligne d'un fichier

Si vous souhaitez afficher toutes les lignes à partir du numéro de ligne N, vous pouvez utiliser l'option + ici.

tail -n +5 rose-tatoo.txt

Une utilisation plus rapide est :

tail +5 rose-tatoo.txt
Afficher toutes les lignes à partir de N numéro de ligne avec tail

Afficher plusieurs fichiers avec tail

En suivant la même logique il est possible d'afficher plusieurs fichiers avec tail :

tail -n N <fichier1> <fichier2> <fichier3>

Par exemple pour afficher les fichiers rose-tatoo.txt et test.txt :

tail rose-tatoo.txt test.txt

Les noms des fichiers sont séparés :

==> rose-tatoo.txt <==
==> test.txt <==
Afficher plusieurs fichiers avec tail

Si vous désirez retirer le nom du fichier, utilise l'option -q (quiet).

Surveiller les fichiers en temps réel avec la file d'attente de tail

Il peut arriver que l'on souhaite suivre les modifications d'un fichier ou d'une commande en temps réel.
Par exemple un fichier journal qui se remplit.
Cela est possible avec l'option -f de la commande tail.

tail -f <fichier>

La commande affiche d'abord les 10 dernières lignes des fichiers, puis il mettra à jour la sortie car les nouvelles lignes sont ajoutées au fichier.

Si vous utilisez l'option -F au lieu de -f, la commande de la queue attendra que le fichier d'entrée soit créé (s'il n'existe pas déjà), puis affiche le contenu du fichier en temps réel.

Utiliser la commande tail avec d'autres commandes

La commande queue peut être utilisée en conjugaison avec d'autres commandes à l'aide du pipe.
Cela permet donc d'afficher que les X lignes de sortie d'une commande.

Par exemple, si vous avez trop de fichiers dans un répertoire et que vous souhaitez seulement voir les 3 derniers fichiers modifiés, vous pouvez l'utiliser de la mode suivante:

ls -ltr | tail -n5
Utiliser la commande tail avec d'autres commandes et pipe

Afficher la sortie de la commande de la tail avec des numéros de ligne

La commande nl permet d'afficher le contenu d'un fichier avec les numéros de ligne.
On peut donc combiner les commandes pour afficher en sortie les dernières lignes d'un fichier avec le numéro de la ligne :

nl rose-tatoo-sans-numero-ligne.txt |tail -2
Afficher la sortie de la commande de la tail avec des numéros de ligne

Tags: