La ligne de commande sous Linux regorge d’outils puissants pour manipuler et analyser rapidement des fichiers. Parmi eux, la commande tail
est l’un des indispensables. Elle permet d’afficher la fin d’un fichier texte, en particulier les dernières lignes, ce qui la rend très utile pour analyser les fichiers journaux ou surveiller des fichiers en temps réel.
Dans cet article, nous allons découvrir ensemble ce qu’est tail
, comment l’utiliser efficacement, et dans quels cas elle peut vous faire gagner un temps précieux.
Qu’est-ce que la commande tail ?
La commande tail
fait partie des Coreutils GNU, un ensemble d’outils essentiels présents sur la plupart des distributions Linux. Elle sert à afficher la fin d’un fichier texte, souvent les 10 dernières lignes par défaut.
Elle est particulièrement utilisée pour :
- Lire les logs système ou applicatifs
- Diagnostiquer des erreurs
- Suivre l’évolution d’un fichier en temps réel
Syntaxe de base
tail [options] <fichier>
Exemple simple :
tail /var/log/syslog
Cela affichera les 10 dernières lignes du fichier syslog
.
Afficher un nombre précis de lignes
Grâce à l’option -n
, on peut spécifier combien de lignes on souhaite afficher à partir de la fin du fichier.
tail -n 5 fichier.txt
Affiche les 5 dernières lignes du fichier.
Afficher les derniers octets d’un fichier
Si vous travaillez avec des fichiers binaires ou volumineux, l’option -c
permet d’afficher un nombre d’octets au lieu de lignes.
tail -c 100 fichier.txt
Affiche les 100 derniers octets du fichier.
Surveiller un fichier en temps réel
L’option -f
est l’une des plus puissantes. Elle permet de surveiller un fichier en direct : dès qu’une ligne est ajoutée, elle s’affiche automatiquement.
tail -f /var/log/auth.log
Parfait pour suivre un log pendant un test ou une installation.
Variante plus robuste : tail -F
Elle continue de suivre un fichier même s’il est renommé ou recréé (utile pour les logs en rotation) :
tail -F /var/log/apache2/access.log
Options utiles et avancées de tail
Option | Description |
---|---|
-n <nb> / --lines | Affiche les n dernières lignes |
-c <nb> / --bytes | Affiche les n derniers octets |
-f / --follow | Affiche les nouvelles lignes en direct |
-F | Comme -f mais gère mieux les rotations de fichier |
--retry | Tente de rouvrir un fichier devenu temporairement inaccessible |
--pid=<PID> | Arrête tail -f quand un processus donné s’arrête |
-q / --quiet | Ne pas afficher le nom du fichier même si plusieurs fichiers sont lus |
-v / --verbose | Affiche toujours le nom du fichier en en-tête |
Combiner tail avec d’autres commandes
L’un des grands avantages de tail
est sa capacité à être combinée avec d’autres commandes via des pipes (|
).
Trier les lignes affichées en ordre inverse :
tail -n 10 fichier.txt | sort -r
Afficher les 5 fichiers les plus récemment modifiés dans un dossier :
ls -lt | tail -n 5
Filtrer les logs avec grep :
tail -f /var/log/syslog | grep "error"
Cas pratiques avec tail
Diagnostiquer un problème système :
tail -n 20 /var/log/syslog
Suivre en temps réel un service :
tail -f /var/log/nginx/error.log
Nettoyer une sortie pour ne garder que les dernières infos :
dmesg | tail
Résumé
Besoin | Commande |
---|---|
Voir les dernières lignes | tail fichier.txt |
Voir 5 lignes | tail -n 5 fichier.txt |
Voir 100 octets | tail -c 100 fichier.txt |
Suivi en temps réel | tail -f fichier.txt |
Suivi robuste (logs) | tail -F fichier.txt |
Avec grep | `tail -f fichier |
La commande tail
est simple, rapide et redoutablement efficace. Elle est un allié précieux pour tout administrateur système, développeur ou étudiant en réseau et cybersécurité. Que ce soit pour diagnostiquer, surveiller ou analyser, elle mérite sa place dans votre boîte à outils Linux.