Comment afficher la fin d’un fichier sous Linux avec la commande ‘Tail’

Il existe deux commandes très utiles sous Linux qui vous permettent de voir une partie d'un fichier. Le premier s'appelle head et par défaut, il vous montre les 10 premières lignes d'un fichier. La seconde est la commande tail qui vous permet par défaut de visualiser les 10 dernières lignes d'un fichier.

Pourquoi voudriez-vous utiliser l'une de ces commandes? Pourquoi ne pas simplement utiliser la commande cat pour afficher le fichier entier ou utiliser un éditeur tel que nano?

Imaginez que le fichier que vous lisez contient 300,000 XNUMX lignes. Imaginez également que le fichier consomme beaucoup d'espace disque.

Une utilisation courante de la commande head est de s'assurer que le fichier que vous souhaitez afficher est bien le fichier correct. Vous pouvez généralement dire si vous regardez le bon fichier simplement en voyant les premières lignes. Vous pouvez ensuite choisir d'utiliser un éditeur tel que nano pour éditer le fichier.

La commande tail est utile pour afficher les dernières lignes de fichiers et est très utile lorsque vous voulez voir ce qui se passe dans un fichier journal contenu dans le dossier / var / log.


Exemple d'utilisation

La commande tail affiche par défaut les 10 dernières lignes d'un fichier.

La syntaxe de la commande tail est la suivante:

queue

Par exemple, pour afficher le journal de démarrage de votre système, vous pouvez utiliser la commande suivante:

sudo queue

La sortie serait quelque chose comme ceci:

Comment spécifier le nombre de lignes à afficher

Spécifiez le nombre de lignes que vous souhaitez voir à l'aide de la commande suivante:

sudo queue -n20

L'exemple ci-dessus afficherait les 20 dernières lignes du fichier.

Alternativement, vous pouvez utiliser le -n pour spécifier également le point de départ dans le fichier. Vous savez peut-être que les 30 premières lignes d'un fichier sont des commentaires et que vous voulez simplement voir les données dans un fichier. Dans ce cas, vous utiliseriez la commande suivante:

sudo queue -n + 20

La commande tail est souvent utilisée avec le PLUS afin que vous puissiez lire le fichier une page à la fois.

Exemple :

sudo queue -n + 20 <fi

La commande ci-dessus envoie les 20 dernières lignes du nom de fichier et le dirige comme entrée vers la commande more.

Vous pouvez également utiliser la commande tail pour afficher un certain nombre d'octets au lieu de lignes:

sudo queue -c20

Utilisez le même commutateur pour commencer à afficher à partir d'un certain nombre d'octets comme suit:

sudo queue -c + 20


Comment surveiller un fichier journal

Vous remarquerez que nous avons inclus sudo dans la plupart des commandes. Cette inclusion n'est nécessaire que si vous ne disposez pas des autorisations en tant qu'utilisateur normal pour afficher le fichier et que vous avez besoin d'autorisations élevées.

De nombreux scripts et programmes ne s'affichent pas à l'écran mais s'ajoutent à un fichier journal au fur et à mesure de leur exécution. Utilisez la commande de queue suivante pour vérifier comment le journal change toutes les secondes:

sudo queue -F -s20

Vous pouvez également utiliser tail pour continuer à surveiller un journal jusqu'à ce qu'un processus meurt comme suit:

sudo queue -F --pid = 1234

Pour trouver l'ID de processus d'un processus, vous pouvez utiliser la commande suivante:

ps -ef | grep & l

Par exemple, imaginez que vous modifiez un fichier à l'aide de nano. Vous pouvez trouver l'ID de processus pour nano à l'aide de la commande suivante:

p

La sortie de la commande vous donnera un ID de processus. Imaginez que l'ID de processus soit 1234. Vous pouvez maintenant exécuter tail sur le fichier en cours d'édition par nano à l'aide de la commande suivante:

sudo queue -F --pid = 1234

Chaque fois que le fichier est enregistré dans nano, la commande tail récupère les nouvelles lignes en bas. La commande ne s'arrête que lorsque l'éditeur nano est fermé.


Comment réessayer la commande tail

Si vous recevez une erreur en essayant d'exécuter la commande tail car elle est inaccessible pour une raison quelconque, vous pouvez utiliser le recommencez paramètre pour continuer à réessayer jusqu'à ce que le fichier soit disponible.

sudo queue --retry -F

Cela ne fonctionne vraiment qu'en conjonction avec le -F commutateur, car vous devez suivre le fichier pour réessayer.

Résumé

Pour en savoir plus sur la commande tail, vous pouvez utiliser la commande suivante: