Se lo faccio: touch file; mv file /dev/null
come root, /dev/null
scompare. ls -lad /dev/null
non risulta in tale file o directory. Questo rompe le applicazioni che dipendono /dev/null
come SSH e possono essere risolte facendo mknod /dev/null c 1 3; chmod 666 /dev/null
. Perché lo spostamento di un file normale in questo file speciale comporta la scomparsa di /dev/null
?
Per chiarire, questo era a scopo di test e capisco come funziona il mv
comando. Ciò di cui sono curioso è perché ls -la /dev/null
prima di sostituirlo con un file normale mostra l'output previsto, ma in seguito mostra che /dev/null
non esiste anche se un file è stato presumibilmente creato tramite il mv
comando originale e il comando file mostra ASCII Text. Penso che questa debba essere una combinazione del ls
comportamento del comando in combinazione con devfs
quando un file non speciale sostituisce un file carattere / speciale. Questo è su Mac OS X, i comportamenti possono variare su altri SO.
rm
comando.
devfs
è divertente sui file normali. Strano però non hai ricevuto un errore mv
. Che ne dici di questo modo touch testfile; mv testfile /dev
:?
mv
può essere atomico solo sullo stesso filesystem.
/dev/null
.