Wenn ich tail
möchte eine 25 GB große Textdatei, macht den tail
Befehl die ganze Datei lesen?
Da eine Datei auf einer Festplatte verstreut sein kann, nehme ich an, dass dies der Fall sein muss, aber ich verstehe solche Interna nicht gut.
Akzeptierte Antwort:
Nein, tail
liest nicht die ganze Datei, es sucht bis zum Ende, liest dann Blöcke rückwärts, bis die erwartete Anzahl von Zeilen erreicht ist, zeigt dann die Zeilen in der richtigen Richtung bis zum Ende der Datei an und überwacht möglicherweise die Datei, wenn das -f
Option verwendet wird.
Beachten Sie jedoch, dass tail
hat keine andere Wahl, als die gesamten Daten zu lesen, wenn eine nicht durchsuchbare Eingabe bereitgestellt wird, beispielsweise beim Lesen aus einer Pipe.
In ähnlicher Weise, wenn Sie aufgefordert werden, nach Zeilen zu suchen, die am Anfang der Datei beginnen, indem Sie tail -n +linenumber
verwenden Syntax oder tail +linenumber
nicht standardmäßige Option, wenn unterstützt, tail
liest offensichtlich die gesamte Datei (sofern nicht unterbrochen).