14 commandes tail et head sous Linux/Unix

beaucoup de gens connaissent la commande cat Qui est utile pour afficher tout le contenu du fichier. Mais dans certains cas, nous devons imprimer une partie du fichier. Dans le post d’aujourd’hui, nous parlerons des commandes head and tail, qui sont très utiles lorsque vous souhaitez afficher une certaine partie au début ou à la fin d’un fichier, en particulier lorsque vous êtes sûr de vouloir ignorer le reste du contenu du fichier.,

commençons par la commande tail, et explorons toutes les fonctionnalités que cette commande pratique peut fournir et voyons comment l’utiliser au mieux pour répondre à vos besoins. Après cela, nous montrerons quelques options que vous pouvez faire et ne pouvez pas faire avec la commande head.

Linux queue de syntaxe de commande

queue ... ...

Tail est une commande qui imprime le dernier nombre de lignes (10 lignes par défaut) d’un certain fichier, puis se termine.
exemple 1: par défaut, « tail” imprime les 10 dernières lignes d’un fichier, puis se termine.,

tail /chemin/vers/fichier

Exemple :

comme vous pouvez le voir, cette commande affiche les 10 dernières lignes du fichier /var/log/messages.

Exemple 2: Maintenant, pensez-vous que vous êtes simplement intéressé par les 3 dernières lignes d’un fichier, ou peut-être intéressé au cours des 15 dernières lignes d’un fichier. c’est alors que l’option-n est pratique, pour choisir un nombre spécifique de lignes au lieu des 10 par défaut.,

tail -n <number_of_lines> /path/to/file

Example :

# tail -n 4 /etc/groupvboxusers:x:491:avahi:x:70:mailnull:x:47:smmsp:x:51:

Example 3: We can even open multiple files using tail command with out need to execute multiple tail commands to view multiple files., Suppose if you want to see first two lines of a

tail -n <number of lines> <file1> <file2> <file3>

Example:

[email protected]:~/code/sh$ tail -n 2 99abc.txt startup_script.sh wifiactivate.sh ==> 99abc.,txt <==
==> startup_script.sh <==sed -i 's/^.*PermitRootLogin.*$/PermitRootLogin yes/g' /etc/ssh/sshd_configservice sshd reload
==> wifiactivate.sh <==modprobe -rv iwlwifimodprobe -v iwlwifi 11n_disable=8

Example 4: Now this might be by far the most useful and commonly used option for tail command., Contrairement au comportement par défaut qui doit se terminer après l’impression d’un certain nombre de lignes, l’option-f « qui signifie suivre” maintiendra le flux en cours. Il commencera à imprimer des lignes supplémentaires sur la console ajoutée au fichier après son ouverture. Cette commande gardera le fichier ouvert pour afficher les modifications mises à jour de la console jusqu’à ce que l’utilisateur casse la commande.,

tail -f /chemin/vers/fichier

Exemple :

Comme vous pouvez le voir dans cet exemple, j’ai voulu démarrer le service crond, puis de regarder le fichier /var/log/cron fichier journal que le service commence. J’ai utilisé; quelle sorte de chaînage de commande dans Linux inorder pour exécuter deux commandes en une seule ligne. Je ne suis pas intéressé par quelques lignes puis par la sortie, mais de plus, je suis intéressé à continuer à regarder tout le fichier journal jusqu’au démarrage du service, puis à le casser avec CTRL+C.,

exemple 5: la même commande tail-f peut être répliquée en utilisant moins de commande bien. Une fois que vous ouvrez un fichier avec less

less /path/to/filename

une fois que vous ouvrez le fichier, appuyez sur Maj+f

exemple:

pour sortir du mode de mise à jour en moins, vous devez appuyer sur Ctrl+C, puis sur Q pour quitter.,C89d637cf1”> exemple 6: Nous avons une autre option-s qui doit toujours être utilisée avec-f « déterminera l’intervalle de sommeil, tandis que tail-f continuera à regarder le fichier, le taux de rafraîchissement est de 1 seconde, si vous souhaitez contrôler cela, vous devrez utiliser l’option-s” sleep »et spécifier l’intervalle de sommeil

<Intervalle de sommeil en secondes>/chemin/vers/Fichier

exemple:

exemple 7: comme nous l’avons vu dans l’exemple 3, Nous pouvons ouvrir plus de fichiers en utilisant la commande tail., Même nous pouvons afficher 2 fichiers en même temps en utilisant l’option-f également. Il imprimera également un en-tête affichant le fichier qui affiche cette sortie. l’en-tête de ligne commençant par « ==>”

tail /chemin/vers/fichier1 /chemin/vers/fichier2

Exemple:

Exemple 8: Si vous souhaitez supprimer cet en-tête, utiliser l’option-q pour le mode silencieux.,

Exemple :

Exemple 9: Maintenant que si j’ai un très grand /var/log/messages et je suis seulement intéressé par la dernière certain nombre d’octets de données, l’option-c peut le faire très facilement., observez l’exemple ci-dessous où je veux afficher seulement les 500 derniers octets de données à partir de /var/log/messages

tail -c <nombre d'octets> /chemin/vers/le / fichier

Exemple :

Maintenant, puisque nous avons parlé pendant un certain temps au sujet de la queue, permet de parler de « tête” de la commande.

la commande Head sera évidemment au contraire de tail, elle imprimera les 10 premières lignes du fichier., Jusqu’à cette partie du post, la commande head fera à peu près la même chose que tail dans tous les exemples précédents, à l’exception de l’option-f, il n’y a pas d’option-f dans head, ce qui est très naturel car les fichiers vont toujours croître à partir du bas.

la tête de la syntaxe de commande sous Linux

tête ... ...

exemple 10: comme mentionné précédemment, imprimez les 10 premières lignes.

Exemple 11: Imprimez les deux premières lignes d’un fichier.,

# head-n 2 /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin

exemple 12: Cette option vous permet d’imprimer toutes les lignes à partir d’un numéro de ligne que vous spécifiez, contrairement à montrez-vous le premier nombre de lignes que vous avez fournies.,

head-n <nombre de lignes précédées par un "-"> /chemin/vers/le / fichier

Exemple :

Comme vous pouvez le remarquer, dans cet exemple, imprimer toutes les lignes de départ, après la ligne 27.

combiner les commandes head et tail sous Linux

exemple 13: Comme les commandes tail et head impriment différentes parties de fichiers de manière efficace, nous pouvons combiner ces deux pour imprimer un filtrage avancé du contenu du fichier., Pour imprimer de la 15e ligne à la 20e ligne dans le fichier /etc/passwd, utilisez l’exemple ci-dessous.

head-n 20 /etc/passwd | tail-n 5

Sortie:

Exemple 14: Beaucoup de gens ne suggèrent pas que la méthode ci-dessus pour imprimer à partir d’une ligne à l’autre ligne. L’exemple ci-dessus est de montrer comment nous pouvons combiner ces choses. Si vous voulez vraiment imprimer une ligne particulière, utilisez la commande sed comme indiqué ci-dessous.

Exemple:

$ sed -n '5p' /etc/passwdsync:x:4:65534:sync:/bin:/bin/sync

Author: admin

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *