Si je veux tail
un fichier texte de 25 Go, fait la tail
commande lire tout le fichier ?
Puisqu'un fichier peut être dispersé sur un disque, j'imagine qu'il doit le faire, mais je ne comprends pas bien ces éléments internes.
Réponse acceptée :
Non, tail
ne lit pas tout le fichier, il cherche jusqu'à la fin puis lit les blocs vers l'arrière jusqu'à ce que le nombre de lignes attendu soit atteint, puis il affiche les lignes dans le bon sens jusqu'à la fin du fichier, et continue éventuellement à surveiller le fichier si le -f
option est utilisée.
Notez cependant que tail
n'a d'autre choix que de lire l'intégralité des données si une entrée non recherchable est fournie, par exemple lors de la lecture à partir d'un tube.
De même, lorsqu'on lui a demandé de rechercher des lignes commençant par le début du fichier, en utilisant le tail -n +linenumber
syntaxe ou tail +linenumber
option non standard lorsqu'elle est prise en charge, tail
lit évidemment l'intégralité du fichier (sauf interruption).