GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Liest Tail die ganze Datei?

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).


Linux
  1. Was bedeutet das Attribut „s“ in Dateiberechtigungen?

  2. Worauf bezieht sich der von „file“ gemeldete Interpreter?

  3. Was bedeutet Exec 3?

  4. Wie liest man die letzte Zeile einer Textdatei mit Bash in eine Variable?

  5. Wie drucke ich die letzte Zeile einer gz-komprimierten Datei in der Befehlszeile?

Linux-Tail-Befehl

Der Linux-Befehl sed ändert die Zieldatei nicht

Warum führt das Forking meines Prozesses dazu, dass die Datei unendlich gelesen wird?

Was bewirkt die Ausführungserlaubnis?

Was bedeutet das 'rc' in `.bashrc` usw.?

tar:kurz gelesen