Es ist eine Überraschung, warum jetzt tail -f
nicht funktioniert, während früher war.
Ich habe den folgenden Befehl, um für die Sicherung auszuführen.
ubuntu@ubuntu:~$ sudo tar -cvf /media/ubuntu/My*Linux/ub*data/zebra.tar /media/ubuntu/home > z1 2> z2 && echo "pass" || echo "fail"
Um die Ausgabe und den Fehler zu sehen, gibt es diese 2 Dateien z1
und z2
.
Jetzt möchte ich die Ausgabe des Befehls auf einem Terminal aus Datei z1 sehen:
ubuntu@ubuntu:~$ tail -f z1
Dieser Befehl zeigt jedoch nicht die Daten an, die mit der Zeit angehängt werden.
Ich arbeite an einer Live-Installation von Ubuntu 14.04.1 mit einem USB-Stick. Kann das der Grund sein?
2 > z2
. Ich denke, diestderr
Umleitungssyntax2>
lässt tatsächlich keinen Raum zwischen dem2
und dem zu>
.f outputfilename
Option gegeben haben, wird z1 eine leere Datei sein.Antworten:
Ich kann das reproduzieren. Es ist ein Fehler.
Auf einer Ubuntu-Live-CD ist das Dateisystem, das das Ausgangsverzeichnis des Standardbenutzers enthält, type overlayfs , das behauptet, inotify zu unterstützen , dies jedoch nicht tut.
Bei
tail -f
einer Datei auf Overlayfs wird versucht, diese zu verwenden,inotify
und es werden keine Benachrichtigungen angezeigt, wenn sich die Datei geändert hat.Der Ubuntu-Fehlerbericht hierfür lautet Bug # 882147: overlayfs implementiert inotify-Schnittstellen nicht korrekt . Eine in diesem Fehlerbericht zitierte Problemumgehung von Jim Meyering über Andrea Ranieri ist zu verwenden
(Es gibt dort wirklich drei Bindestriche.)
quelle