Il existe de nombreuses commandes pour afficher le contenu des fichiers sous Linux. Parmi ceux-ci, la tail
et head
Les commandes impriment respectivement la sortie des 10 dernières et des 10 premières lignes d'un fichier. Dans certains cas, la sortie ou l'erreur de votre travail ou script soumis crée un très gros fichier et le résultat le plus récent s'imprime à la fin du fichier. Vous pouvez utiliser tail
, au lieu du cat
commande, pour afficher uniquement les dernières lignes du fichier. Parfois, vous avez besoin de plusieurs options avec le tail
commande pour afficher correctement le contenu du fichier. Ci-dessous, je vais démontrer l'utilisation de tail
et head
commandes.
Le synopsis des deux commandes est le suivant :
tail [OPTION]... [FILE]...
head [OPTION]... [FILE]...
J'ai également créé deux fichiers de salutations dans différentes langues avec des numéros de ligne. Chaque fichier contient un total de 15 lignes. Voyons le contenu des fichiers avec un simple cat
commande :
root@jaibhim:~# cat greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# cat greetings2.txt
1 Good Morning
2 Good Morning
3 Good Morning
4 Good Morning
5 Good Morning
6 Good Morning
7 Good Morning
8 Good Morning
9 Good Morning
10 Good Morning
11 Good Morning
12 Good Morning
13 Good Morning
14 Good Morning
15 Good Morning
Maintenant, je vais utiliser à la fois la tail
et head
commandes sans aucune option pour afficher le greetings1.txt
dossier. La tail
me donne une sortie des dix dernières lignes, alors que le head
me donne les dix premières lignes.
root@jaibhim:~# tail greetings1.txt
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
11 Jai Bhim
12 Jai Bhim
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
4 Jai Bhim
5 Jai Bhim
6 Jai Bhim
7 Jai Bhim
8 Jai Bhim
9 Jai Bhim
10 Jai Bhim
Dans l'exemple ci-dessus, vous pouvez voir que les deux commandes impriment les premières et les dix dernières lignes du fichier.
Vous pouvez configurer le nombre de lignes affichées pour les deux commandes avec l'option -n
.
root@jaibhim:~# tail -n 3 greetings1.txt
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
root@jaibhim:~# head -n 3 greetings1.txt
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
Les deux commandes peuvent également être utilisées pour plusieurs fichiers. Je donne le nom des deux fichiers avec un espace entre eux, et il imprime la sortie. Dans l'exemple ci-dessous, j'ai utilisé l'option -n
pour limiter la sortie. Si je saute le -n
option, les commandes impriment les dix lignes par défaut de chaque fichier. Comme indiqué ci-dessous, j'ai utilisé plus d'un fichier comme argument, et les deux commandes impriment un en-tête d'une ligne avant la sortie de chaque fichier :
root@jaibhim:~# tail -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
13 Jai Bhim
14 Jai Bhim
15 Jai Bhim
==> greetings2.txt <==
13 Good Morning
14 Good Morning
15 Good Morning
root@jaibhim:~# head -n 3 greetings1.txt greetings2.txt
==> greetings1.txt <==
1 Jai Bhim
2 Jai Bhim
3 Jai Bhim
==> greetings2.txt <==
1 Good Morning
2 Good Morning
3 Good Morning
L'option la plus importante pour la tail
la commande est -f
. Dans certains cas, lorsque les utilisateurs exécutent une tâche ou un script, cela crée des fichiers journaux ou d'erreurs. Je dois suivre le fichier journal pour déterminer si le script respectif fonctionne correctement ou non. Pour le moment, j'ai besoin d'utiliser l'option -f
avec la tail
commande, qui imprime la sortie des nouvelles lignes créées par le script. Un autre exemple où vous pouvez utiliser l'option -f
avec la tail
la commande est /var/log/messages
fichier.
Voici un script simple, qui s'exécute en arrière-plan et ajoute des mots simples à chaque ligne avec un délai d'une seconde :
for i in {16..100}; do echo “$i JaiBhim” >> greetings1.txt; sleep 1; done &
Remarque :J'ai utilisé &
à la fin de la commande pour que le script s'exécute en arrière-plan.
Maintenant, sur le même terminal, utilisez le tail
commande avec l'option -f
et le nom du fichier comme argument. Vous pouvez voir que la nouvelle ligne est ajoutée dans le même fichier :
tail -f greetings1.txt
Conclusion
Comme vous pouvez le voir, à la fois la tail
et la head
Les commandes sont très utiles pour contrôler exactement le contenu du fichier qui s'affichera à l'écran. Essayez-les !
[ Voulez-vous essayer Red Hat Enterprise Linux ? Télécharge le maintenant gratuitement. ]