GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux Tail avec exemples


Comme vous le savez peut-être, la commande cat est utilisée pour afficher tout le contenu d'un fichier via une entrée standard. Mais dans certains cas, nous devons imprimer la dernière partie du fichier. Sous Linux et Unix, la commande tail est utilisée pour afficher les 10 dernières lignes (par défaut) d'un fichier en utilisant la sortie standard.

La commande Tail est couramment utilisée pour regarder et analyser les fichiers car elle peut afficher les lignes nouvellement ajoutées. Cette fonctionnalité est principalement utilisée pour afficher les journaux ou d'autres fichiers mis à jour de temps en temps.

Dans ce tutoriel, nous apprenons à utiliser la commande tail sous Linux avec quelques exemples pratiques. Nous passerons également en revue les options de queue en détail.

Syntaxe de la commande Tail

La ligne suivante montre la syntaxe de la commande tail :

tail [OPTION]... [FILE]...

Sans aucune OPTION ou FILE , la commande tail accepte les entrées de STDIN. Donc, à STDIN, si vous entrez plus de 10 lignes, seules les 10 dernières lignes seront affichées où la commande head fait exactement le contraire de la commande tail.

La commande Tail peut accepter un ou plusieurs noms de fichiers d'entrée (FILE ).

1) Utiliser la commande tail pour afficher les dix dernières lignes d'un fichier

Sans aucune option, la commande tail affiche les 10 dernières lignes du fichier d'entrée.

Dans les exemples suivants, la commande tail affiche les 10 dernières lignes du fichier 'file1.txt' :

$ tail file1.txt
memtest86+_multiboot.bin
System.map-2.6.38-12-generic
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic

2) Afficher un nombre spécifique (limité) de lignes

Si vous souhaitez afficher uniquement un nombre spécifique de lignes, vous devez utiliser l'option -n.

Nous pouvons utiliser trois options différentes pour limiter le nombre de lignes.

Les trois commandes suivantes (-n100 , -n 100 , -100 ) affiche les 100 dernières lignes du fichier '/var/log/apache2/error.log' :

$ tail -n100 /var/log/apache2/error.log

ou

$ tail -100 /var/log/apache2/error.log

ou

$ tail -n 100 /var/log/apache2/error.log

3) Comment afficher plusieurs fichiers

La commande Tail peut s'afficher à partir de plusieurs fichiers lorsqu'elle est donnée en argument. Ensuite, il sort les 10 dernières lignes de chaque fichier et avec un en-tête affichant le nom du fichier.

$ tail file1.txt file2.txt
==> file1.txt <== 
memtest86+_multiboot.bin 
System.map-2.6.38-12-generic 
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic
==> file2.txt <==
smi.conf
snmp
sound
speech-dispatcher
ssh
ssl
sudoers
sudoers.d
sysctl.conf
tr command

Si vous ne souhaitez pas imprimer les en-têtes ('==> file1.txt <==' et '==> file2.txt <=='), vous pouvez utiliser le mode silencieux avec -q , --quiet ou --quiet option. Cette option peut être utilisée pour combiner des fichiers.

$ tail -q file1.txt file2.txt

Si vous voulez toujours imprimer les en-têtes, même lorsqu'un seul nom de fichier est fourni en argument, vous pouvez utiliser -v ou --verbose possibilité

$ tail -v file1.txt

4) Afficher les derniers octets spécifiques d'un fichier

Pour afficher les derniers octets spécifiques du fichier, utilisez -c ou --bytes option.

La commande tail suivante imprime les 30 derniers octets du fichier file2.txt :

$ tail -c 30 file2.txt
sudoers.d
sysctl.conf
sysctl.d

Alternativement, vous pouvez utiliser -c +number pour tout sortir à partir de l'octet number .

$ tail -c +300 file1.txt

5) Surveiller les modifications de fichiers

Utilisez -f ou --follow option de surveillance des modifications de fichiers. Cette option est très couramment utilisée pour surveiller et dépanner les fichiers journaux.

La commande suivante affichera les 10 dernières modifications sur le terminal pour le fichier '/var/log/Xorg.1.log'.

$ tail -f /var/log/Xorg.1.log
[ 86.774] (**) Option "xkb_layout" "us"
[ 86.774] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[ 86.774] (II) Toshiba input device: (II) is tagged by udev as: Keyboard
[ 86.774] (II) Toshiba input device: (II) device is a keyboard
[ 88.453] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 88.453] (II) Vision stereo.
[ 102.094] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

Le -f L'option attendra toujours les données ajoutées et ne se fermera pas d'elle-même. Vous devez appuyer sur Ctrl+C pour quitter.

Essayons d'afficher les 3 dernières lignes d'une sortie de queue en utilisant le -n et f options.

$ tail -n3 -f /var/log/Xorg.1.log
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

Utiliser le -fq option, vous pouvez surveiller les modifications de plusieurs fichiers.

$ tail -fq /var/log/Xorg.1.log file2.txt

Avec le -s ou --sleep-interval (la valeur par défaut est 1 seconde), vous pouvez ajuster l'intervalle de veille entre les itérations.

$ tail -f -s 4 /var/log/Xorg.1.log

Comme mentionné ci-dessus avec le -f option le shell ne se ferme pas tout seul, mais vous pouvez dire à la commande de se terminer après la mort d'un processus avec le --pid option.

La commande se terminera dès que le processus avec le PID 4309 meurt.

$ tail -f file2.txt --pid=4309

Avec le --retry option, vous pouvez continuer à essayer d'ouvrir un fichier même lorsqu'il est, ou devient, inaccessible. Une fois accessible, la sortie sera affichée.

$ tail -f file2.txt --retry

6) Utiliser la queue avec des tuyaux

La commande tail peut être redirigée vers/depuis d'autres commandes pour produire des résultats optimisés.

L'exemple suivant utilise la commande ls pour lister tous les fichiers et répertoires et lister tous les répertoires en haut.

$ ls -l /etc | tail | sort
drwxr-xr-x.  2 root root   4096 Mar  3 08:15 yum.repos.d
drwxr-xr-x.  2 root root   4096 Mar  3 08:17 yum
drwxr-xr-x.  2 root root   4096 Sep 25 14:54 xinetd.d
drwxr-xr-x.  4 root root   4096 Sep 25 14:54 xdg
drwxr-xr-x.  6 root root   4096 Sep 25 14:54 X11
lrwxrwxrwx.  1 root root     12 Dec 19 15:43 yum.conf -> dnf/dnf.conf
-rw-r--r--.  1 root root   1204 Nov 11 19:08 virc
-rw-r--r--.  1 root root   1982 Nov 11 19:08 vimrc
-rw-r--r--.  1 root root     28 Sep 25 14:51 vconsole.conf
-rw-r--r--.  1 root root    642 Dec  9  2016 xattr.conf

Si vous souhaitez surveiller les demandes pour un type de fichier particulier, utilisez la commande suivante :

$ tail -f /var/log/apache/myvirtualhost.log | grep .jpg

Dans l'exemple suivant, la commande de queue de sortie est redirigée et, à l'aide de la commande de tri, obtenez le contenu de 'continent.txt' trié par ordre alphabétique.

$ tail -n 5 continent.txt | sort
Africa
Antarctica
Asia
Australia
Europe

Conclusion

Nous avons maintenant vu comment utiliser la commande tail et ses options pour afficher les dernières lignes d'un fichier texte. J'espère que vous avez apprécié la lecture et s'il vous plaît laissez vos suggestions dans la section des commentaires ci-dessous.


Linux
  1. Commande de tri sous Linux avec des exemples

  2. Commande JQ sous Linux avec exemples

  3. Exemples de commandes Linux tail

  4. ln Exemples de commandes sous Linux

  5. file Exemples de commandes sous Linux

Utilisation de la commande Cat sous Linux avec des exemples

Commande Linux WC avec exemples

Utilisation de la commande Linux mv avec des exemples

Commande de montage Linux avec exemples

Commande Linux gawk avec exemples

Linux make Commande avec des exemples