Comment utiliser la commande tail sous Linux 1

Comment utiliser la commande tail sous Linux

Le Linux tail La commande affiche les données de la fin d’un fichier. Il peut même afficher les mises à jour qui sont ajoutées à un fichier en temps réel. Nous vous montrons comment l’utiliser.

Systemd a-t-il tué la queue?

La tail La commande vous montre les données de la fin d’un fichier. Habituellement, de nouvelles données sont ajoutées à la fin d’un fichier, de sorte que tail La commande est un moyen rapide et facile de voir les ajouts les plus récents à un fichier. Il peut également surveiller un fichier et afficher chaque nouvelle entrée de texte dans ce fichier au fur et à mesure qu’elles se produisent. Cela en fait un excellent outil pour surveiller les fichiers journaux.

De nombreuses distributions Linux modernes ont adopté le systemd gestionnaire de système et de service. C’est le premier processus exécuté, il a ID de processus 1, et il est le parent de tous les autres processus. Ce rôle était autrefois géré par les plus âgés init système.

Parallèlement à ce changement est venu un nouveau format pour les fichiers journaux système. N’est plus créé en texte brut, sous systemd ils sont enregistrés dans un format binaire. À lire ces fichiers journaux, vous devez utiliser la journactl utilitaire. La tail La commande fonctionne avec les formats de texte brut. Il ne lit pas les fichiers binaires. Cela signifie-t-il que le tail la commande est une solution à la recherche d’un problème? At-il encore quelque chose à offrir?

Il y a plus à la tail commande que d’afficher les mises à jour en temps réel. Et d’ailleurs, il existe encore de nombreux fichiers journaux qui ne sont pas générés par le système et qui sont toujours créés en tant que fichiers de texte brut. Par exemple, les fichiers journaux générés par applications n’ont pas changé leur format.

Utilisation de la queue

Transmettez le nom d’un fichier à tail et il vous montrera les dix dernières lignes de ce fichier. Les fichiers d’exemple que nous utilisons contiennent des listes de mots triés. Chaque ligne est numérotée, il devrait donc être facile de suivre les exemples et de voir l’effet des différentes options.

tail word-list.txt

tail word-list.txt dans une fenêtre de terminal

Pour voir un nombre différent de lignes, utilisez le -n (nombre de lignes) option:

tail -n 15 word-list.txt

tail -n 15 word-list.txt dans une fenêtre de terminal

En fait, vous pouvez vous passer du «-n», et simplement utiliser un tiret «-» et le nombre. Assurez-vous qu’il n’y a aucun espace entre eux. Techniquement, ceci est un formulaire de commande obsolète, mais il est toujours dans le page de manuel, et cela fonctionne toujours.

tail -12 word-list.txt

tail -12 word-list.txt dans une fenêtre de terminal

Utilisation de tail avec plusieurs fichiers

Vous pouvez avoir tail travailler avec plusieurs fichiers à la fois. Passez simplement les noms de fichiers sur la ligne de commande:

tail -n 4 list-1.txt list-2.txt list-3.txt

tail -n 4 list-1.txt list-2.txt list-3.txt dans une fenêtre de terminal

Un petit en-tête est affiché pour chaque fichier afin que vous sachiez à quel fichier appartiennent les lignes.

Afficher les lignes depuis le début d’un fichier

La + (compter depuis le début) le modificateur fait tail afficher les lignes depuis le début d’un fichier, en commençant par un numéro de ligne spécifique. Si votre fichier est très long et que vous choisissez une ligne proche du début du fichier, vous allez avoir beaucoup de sortie envoyée à la fenêtre du terminal. Si tel est le cas, il est logique de canaliser la sortie de tail dans less.

tail +440 list-1.txt

tail +44 list-1.txt dans une fenêtre de terminal

Vous pouvez parcourir le texte de manière contrôlée.

Sortie de la queue affichée en moins dans une fenêtre de terminal

Puisqu’il y a 20 445 lignes dans ce fichier, cette commande équivaut à utiliser l’option «-6»:

tail +20440 list-1.txt

tail +20440 list-1.txt dans une fenêtre de terminal

Utilisation d’octets avec queue

Tu peux dire tail pour utiliser des décalages en octets au lieu de lignes en utilisant le -c (octets) option. Cela peut être utile si vous disposez d’un fichier de texte formaté en enregistrements de taille normale. Notez qu’un caractère de nouvelle ligne compte pour un octet. Cette commande affichera les 93 derniers octets du fichier:

tail -c 93 list-2.txt

tail -c 93 list-2.txt dans une fenêtre de terminal

Vous pouvez combiner les -c (octets) avec l’option + (compter à partir du début du fichier), et spécifiez un décalage en octets comptés à partir du début du fichier:

tail -c +351053 list-e.txt

tail -c +351053 list-e.txt dans une fenêtre de terminal

Passepoil dans la queue

Auparavant, nous avons canalisé la sortie de tail dans less . Nous pouvons également diriger la sortie d’autres commandes vers tail.

Pour identifier les cinq fichiers ou dossiers avec les heures de modification les plus anciennes, utilisez le -t (trier par heure de modification) option avec ls et dirigez la sortie vers tail.

ls -tl | tail -5

ls -lt |  tail -5 dans une fenêtre de terminal

La head commander répertorie les lignes de texte depuis le début d’un fichier. Nous pouvons combiner cela avec tail pour extraire une section du fichier. Ici, nous utilisons le head commande pour extraire les 200 premières lignes d’un fichier. Ceci est diffusé dans tail, qui extrait les dix dernières lignes. Cela nous donne les lignes 191 à 200. Autrement dit, les dix dernières lignes des 200 premières lignes:

head -n 200 list-1.txt | tail -10

head -n 200 liste-1.txt |  tail -10 dans une fenêtre de terminal

Cette commande répertorie les cinq processus les plus gourmands en mémoire.

ps aux | sort -nk +4 | tail -5

ps aux |  sort -nk +4 |  tail -5 dans une fenêtre de terminal

Décomposons cela.

La ps commander affiche des informations sur les processus en cours d’exécution. Les options utilisées sont:

  • une: Répertoriez tous les processus, pas seulement pour l’utilisateur actuel.
  • u: Affiche une sortie orientée utilisateur.
  • X: Répertoriez tous les processus, y compris ceux qui ne s’exécutent pas à l’intérieur d’un TTY.

La sort commander trie la sortie de ps . Les options que nous utilisons avec sort sont:

  • n: Trier numériquement.
  • k +4: Trier sur la quatrième colonne.

La tail -5 La commande affiche les cinq derniers processus de la sortie triée. Ce sont les cinq processus les plus gourmands en mémoire.

Utilisation de tail pour suivre les fichiers en temps réel

Le suivi des nouvelles entrées de texte arrivant dans un fichier (généralement un fichier journal) est facile avec tail. Passez le nom de fichier sur la ligne de commande et utilisez le -f (suivre) l’option.

tail -f geek-1.log

tail -f geek-1.log dans une fenêtre de terminal

Lorsque chaque nouvelle entrée de journal est ajoutée au fichier journal, tail met à jour son affichage dans la fenêtre du terminal.

Sortie de tail -f geek-1.log dans une fenêtre de terminal

Vous pouvez affiner la sortie pour n’inclure que les lignes présentant une pertinence ou un intérêt particulier. Ici, nous utilisons grep à n’afficher que les lignes qui incluent le mot «moyenne»:

tail -f geek-1.log | grep average

queue -f geek-1.log |  grep moyenne dans une fenêtre de terminal

Pour suivre les modifications apportées à deux fichiers ou plus, transmettez les noms de fichiers sur la ligne de commande:

tail -f -n 5 geek-1.log geek-2.log

tail -f -n 5 geek-1.log geek-2.log dans une fenêtre de terminal

Chaque entrée est étiquetée avec un en-tête qui montre de quel fichier le texte provient.

Sortie de tail -f -n 5 geek-1.log geek-2.log

L’affichage est mis à jour à chaque fois qu’une nouvelle entrée arrive dans un fichier suivi. Pour spécifier la période de mise à jour, utilisez le -s (période de sommeil) option. Cela raconte tail d’attendre quelques secondes, cinq dans cet exemple, entre les vérifications de fichiers.

tail -f -s 5 geek-1.log

tail -f -s 5 geek-1.log dans une fenêtre de terminal

Certes, vous ne pouvez pas le dire en regardant une capture d’écran, mais les mises à jour au dossier se produisent une fois toutes les deux secondes. Les nouvelles entrées de fichier sont affiché dans la fenêtre du terminal une fois toutes les cinq secondes.

Sortie de tail -f -s 5 geek-1.log

Lorsque vous suivez les ajouts de texte à plusieurs fichiers, vous pouvez supprimer les en-têtes qui indiquent de quel fichier journal le texte provient. Utilisez le -q (silencieux) pour ce faire:

tail -f -q geek-1.log geek-2.log

tail -f -q geek-1.log geek-2.log dans une fenêtre de terminal

La sortie des fichiers est affichée dans un mélange transparent de texte. Il n’y a aucune indication de quel fichier journal provient chaque entrée.

Sortie de tail -f -q geek-1.log geek-2.log dans une fenêtre de terminal

la queue a toujours de la valeur

Bien que l’accès aux fichiers journaux système soit désormais fourni par journalctl, tail a encore beaucoup à offrir. Cela est particulièrement vrai quand il est utilisé en conjonction avec d’autres commandes, en passant ou en sortant tail.

systemd peut avoir changé le paysage, mais il y a encore une place pour les utilitaires traditionnels qui se conforment à la philosophie Unix de faire une chose et de bien la faire.

Soutenez notre effort ❤️

Si vous avez apprécié cet article, pensez à laisser un pourboire pour nous aider à continuer à publier du contenu de qualité.

Paiement sécurisé sur PayPal
Moyens I/O Staff est une équipe de rédacteurs spécialisés, passionnés par la technologie, l’innovation et les usages numériques. Forts d’une expertise pointue en IA, applications mobiles, gaming et tendances digitales, nous produisons un contenu rigoureux, vérifié et utile. Notre mission : vous offrir une information fiable et claire pour mieux naviguer dans le monde numérique en constante évolution. Découvrez les avis de nos lecteurs sur Trustpilot.