Wenn ich das tue: touch file; mv file /dev/null
als root, /dev/null
verschwindet. ls -lad /dev/null
führt zu keiner solchen Datei oder keinem solchen Verzeichnis. Dies unterbricht Anwendungen, die von /dev/null
SSH abhängen und durch Ausführen von gelöst werden können mknod /dev/null c 1 3; chmod 666 /dev/null
. Warum führt das Verschieben einer regulären Datei in diese spezielle Datei zum Verschwinden von /dev/null
?
Zur Verdeutlichung diente dies zu Testzwecken, und ich verstehe, wie der mv
Befehl funktioniert. Ich bin gespannt, warum ls -la /dev/null
vor dem Ersetzen durch eine reguläre Datei die erwartete Ausgabe angezeigt wird. Danach wird jedoch angezeigt, dass /dev/null
diese nicht vorhanden ist, obwohl eine Datei angeblich über den ursprünglichen mv
Befehl erstellt wurde und der Dateibefehl ASCII-Text anzeigt. Ich denke, dies muss eine Kombination des ls
Befehlsverhaltens sein, devfs
wenn eine nicht spezielle Datei ein Zeichen / eine spezielle Datei ersetzt. Dies ist unter Mac OS X der Fall. Das Verhalten kann unter anderen Betriebssystemen variieren.
rm
Befehl.
devfs
ist witzig über normale Dateien. Seltsamerweise haben Sie keinen Fehler bekommen mv
. Wie wäre es auf diese Weise touch testfile; mv testfile /dev
:?
mv
kann nur auf demselben Dateisystem atomar sein.
/dev/null
.