Affichage de la fin des fichiers Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser la commande tail sous Linux. La commande tail est un outil essentiel qui vous permet d'afficher la fin des fichiers texte. Elle est particulièrement utile pour visualiser les entrées récentes dans les fichiers journaux (log files), lire les dernières lignes de documents volumineux ou surveiller les modifications de fichiers. Ce laboratoire vous guidera à travers diverses méthodes d'utilisation de la commande tail, vous aidant à maîtriser cet outil important de Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/tail("File End Display") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-271395{{"Affichage de la fin des fichiers Linux"}} linux/cat -.-> lab-271395{{"Affichage de la fin des fichiers Linux"}} linux/tail -.-> lab-271395{{"Affichage de la fin des fichiers Linux"}} linux/cd -.-> lab-271395{{"Affichage de la fin des fichiers Linux"}} linux/nano -.-> lab-271395{{"Affichage de la fin des fichiers Linux"}} end

Utilisation de base de la commande tail

Dans cette étape, vous apprendrez l'utilisation de base de la commande tail en créant un simple fichier texte et en examinant son contenu.

Tout d'abord, naviguons jusqu'au répertoire du projet :

cd ~/project

Maintenant, créons un fichier texte d'exemple avec plusieurs lignes en utilisant la commande echo :

echo -e "Line 1: Introduction to Linux commands\nLine 2: File manipulation basics\nLine 3: Text processing utilities\nLine 4: The tail command overview\nLine 5: Reading the end of files" > sample.txt

L'option -e permet l'interprétation des caractères d'échappement (backslash escapes), ce qui nous permet d'utiliser \n pour les sauts de ligne.

Pour vérifier le contenu du fichier, utilisez la commande cat pour afficher tout le fichier :

cat sample.txt

Vous devriez voir la sortie suivante :

Line 1: Introduction to Linux commands
Line 2: File manipulation basics
Line 3: Text processing utilities
Line 4: The tail command overview
Line 5: Reading the end of files

Maintenant, utilisons la commande tail pour afficher la dernière ligne du fichier :

tail -n 1 sample.txt

L'option -n 1 indique à tail d'afficher seulement la dernière ligne du fichier. Vous devriez voir :

Line 5: Reading the end of files

C'est l'utilisation de base de la commande tail. Dans les étapes suivantes, nous explorerons des options plus avancées.

Affichage de plusieurs lignes avec tail

Dans cette étape, vous apprendrez à afficher plusieurs lignes depuis la fin d'un fichier en utilisant la commande tail.

Ajoutons d'abord plus de contenu à notre fichier d'exemple. Nous allons ajouter cinq lignes supplémentaires au fichier existant :

echo -e "Line 6: Displaying multiple lines\nLine 7: Command options and parameters\nLine 8: Practical applications\nLine 9: Log file examination\nLine 10: Continuous monitoring" >> sample.txt

L'opérateur >> ajoute le nouveau contenu au fichier existant sans l'écraser.

Vérifions que le fichier a maintenant 10 lignes :

cat sample.txt

Vous devriez voir les 10 lignes :

Line 1: Introduction to Linux commands
Line 2: File manipulation basics
Line 3: Text processing utilities
Line 4: The tail command overview
Line 5: Reading the end of files
Line 6: Displaying multiple lines
Line 7: Command options and parameters
Line 8: Practical applications
Line 9: Log file examination
Line 10: Continuous monitoring

Maintenant, utilisons la commande tail pour afficher les 3 dernières lignes du fichier :

tail -n 3 sample.txt

Vous devriez voir :

Line 8: Practical applications
Line 9: Log file examination
Line 10: Continuous monitoring

Vous pouvez également utiliser une syntaxe plus courte pour l'option -n :

tail -3 sample.txt

Cela produira la même sortie que la commande précédente :

Line 8: Practical applications
Line 9: Log file examination
Line 10: Continuous monitoring

En changeant le nombre dans l'option -n, vous pouvez contrôler combien de lignes depuis la fin du fichier vous souhaitez afficher.

Surveillance en temps réel de fichiers avec tail

L'une des fonctionnalités les plus puissantes de la commande tail est sa capacité à surveiller les fichiers en temps réel. Cela est particulièrement utile pour observer les fichiers journaux (log files) pendant qu'ils sont en cours d'écriture.

Créons un simple script qui simule un fichier journal en cours de mise à jour continue :

cd ~/project

Créez un fichier de script nommé log_generator.sh :

nano log_generator.sh

Ajoutez le contenu suivant au script :

#!/bin/bash
for ((i = 1; i <= 10; i++)); do
  echo "[$(date '+%Y-%m-%d %H:%M:%S')] Log entry $i: System event recorded" >> simulation.log
  sleep 2
done

Enregistrez le fichier en appuyant sur Ctrl+O, puis Entrée, et quittez nano avec Ctrl+X.

Rendez le script exécutable :

chmod +x log_generator.sh

Maintenant, utilisons la commande tail avec l'option -f pour surveiller le fichier journal en temps réel. L'option -f signifie "suivre" (follow), ce qui fait que tail continue de surveiller le fichier pour détecter les modifications.

Ouvrez une nouvelle fenêtre de terminal en cliquant sur l'icône du terminal dans la barre des tâches (ou utilisez le raccourci clavier Ctrl+Alt+T). Dans le nouveau terminal, exécutez :

cd ~/project
tail -f simulation.log

Maintenant, revenez à votre fenêtre de terminal d'origine et exécutez le script de génération de journaux :

./log_generator.sh

Dans le terminal où vous exécutez tail -f, vous devriez voir de nouvelles entrées de journal apparaître toutes les 2 secondes :

[2023-11-01 12:34:56] Log entry 1: System event recorded
[2023-11-01 12:34:58] Log entry 2: System event recorded
[2023-11-01 12:35:00] Log entry 3: System event recorded
...

Après que le script se soit terminé (au bout d'environ 20 secondes), revenez au terminal où tail -f est en cours d'exécution et appuyez sur Ctrl+C pour arrêter la surveillance.

Cette capacité de surveillance en temps réel fait de tail -f un outil inestimable pour les administrateurs système qui doivent surveiller les fichiers journaux pour détecter les erreurs ou les événements importants.

Options avancées de tail

Dans cette étape, vous allez apprendre quelques options avancées de la commande tail qui peuvent être utiles dans différents scénarios.

Affichage des derniers N octets au lieu des dernières lignes

Parfois, vous pourriez vouloir voir les derniers N octets d'un fichier au lieu des dernières N lignes. Pour cela, vous pouvez utiliser l'option -c (abréviation de "bytes" - octets en français).

Créons un nouveau fichier de test :

cd ~/project
echo "This is a test file to demonstrate byte-based viewing with the tail command. The tail command is versatile and can display content based on bytes instead of lines." > bytes_test.txt

Maintenant, affichons les derniers 20 octets de ce fichier :

tail -c 20 bytes_test.txt

Vous devriez voir une sortie similaire à celle-ci (peut varier légèrement) :

instead of lines.

Utilisation d'un en-tête personnalisé avec la sortie de tail

Lorsque vous affichez la fin d'un fichier, il est parfois utile d'ajouter un en-tête personnalisé à la sortie pour vous rappeler de ce que vous regardez. Vous pouvez utiliser la commande echo combinée avec tail pour cela :

echo -e "=== Last 3 lines of sample.txt ===\n$(tail -n 3 sample.txt)"

Vous devriez voir :

=== Last 3 lines of sample.txt ===
Line 8: Practical applications
Line 9: Log file examination
Line 10: Continuous monitoring

Affichage de plusieurs fichiers simultanément

La commande tail peut également afficher les dernières lignes de plusieurs fichiers à la fois :

Créons un autre fichier :

echo -e "Alpha\nBeta\nGamma\nDelta\nEpsilon" > greek.txt

Maintenant, utilisons tail pour afficher les 2 dernières lignes de tous les deux fichiers :

tail -n 2 sample.txt greek.txt

Vous devriez voir :

==> sample.txt <==
Line 9: Log file examination
Line 10: Continuous monitoring

==> greek.txt <==
Delta
Epsilon

Ces options avancées rendent la commande tail encore plus polyvalente et utile pour diverses tâches d'affichage de fichiers.

Résumé

Dans ce laboratoire (lab), vous avez appris à utiliser la commande tail, un outil puissant de Linux pour afficher les parties finales des fichiers. Voici un résumé de ce que vous avez accompli :

  1. Utilisation de base : Vous avez appris à afficher la dernière ligne d'un fichier en utilisant tail -n 1.

  2. Plusieurs lignes : Vous avez découvert comment afficher plusieurs lignes depuis la fin d'un fichier en utilisant tail -n N ou la notation abrégée tail -N.

  3. Surveillance en temps réel : Vous avez pratiqué l'utilisation de tail -f pour surveiller les fichiers pendant qu'ils sont mis à jour, ce qui est essentiel pour l'analyse des fichiers journaux (log files).

  4. Options avancées : Vous avez exploré des options plus avancées telles que l'affichage des derniers N octets avec tail -c N, l'ajout d'en-têtes personnalisés à la sortie et l'affichage de la fin de plusieurs fichiers simultanément.

Ces compétences sont inestimables pour les administrateurs système, les développeurs et toute personne travaillant avec des systèmes Linux. La commande tail est particulièrement utile pour la résolution de problèmes, la surveillance des fichiers journaux et l'examen rapide des données les plus récentes dans de grands fichiers sans avoir à les ouvrir entièrement.

Au fur et à mesure de votre progression dans le monde Linux, vous trouverez que la commande tail est un outil essentiel dans votre boîte à outils en ligne de commande, surtout lorsqu'elle est combinée avec d'autres outils Linux grâce aux pipes et aux redirections.