staging.inyokaproject.org

Dateiänderungen mit tail live verfolgen

Status: Ungelöst | Ubuntu-Version: Xubuntu 18.04 (Bionic Beaver)
Antworten |

Fried-rich

Anmeldungsdatum:
2. Mai 2013

Beiträge: 1162

Hi,

eher durch Zufall bin ich auf die Möglichkeit gestoßen mit

1
tail -f datei

die Änderungen in der Datei "datei" live zu verfolgen. Das geht bei mir aber nicht. In der Datei "datei" steht x-beliebiger Text der mit dem o.g. Befehl komplett angezeigt wird. Wenn ich aber parallel die Datei öffne, etwas ändere und wieder schließe tut sich im Terminal nichts. Hab ich das mit der "LIve-Anzeige" falsch verstanden?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

Das Problem liegt hier wahrscheinlich am verwendeten Editor also der Art und Weise wie Editoren die Dateien aendern.

Zuerstmal zu tail -f: Der Zweck ist, dass wenn eine eine Datei um etwas erweitert wird, dies anzuzeigen. Der Klassiker sind hier Logdateien. Die koennen GB gross sein, und es wird 1 Zeile ergaenzt. Dabei bleibt die Datei im Dateisystem dort wo sie ist. Der File descriptor bleibt erhalten. Das geht zB mit echo text >> foo.log.

Wenn du mit einem Editor was aenderst, wird dabei eine neue Datei geschrieben, die alte geloescht und die neue an die richtige Stelle geschoben. Das sieht man auch, wenn man tail -F verwendet. In diesem Fall hat die Datei erst gar nicht existiert und dann gab es eine Aenderung:

$ tail -F test.log
tail: cannot open 'test.log' for reading: No such file or directory
tail: 'test.log' has appeared;  following new file
foo
tail: 'test.log' has been replaced;  following new file
foo
bar

Der File descriptor wurde in diesem Fall also geaendert.

Fried-rich

(Themenstarter)

Anmeldungsdatum:
2. Mai 2013

Beiträge: 1162

Das kann sein, ich hab Geany zum editieren der Datei verwendet. Ich teste es nichmal mit echo.

Antworten |