Se lo faccio: touch file; mv file /dev/nullcome root, /dev/nullscompare. ls -lad /dev/nullnon risulta in tale file o directory. Questo rompe le applicazioni che dipendono /dev/nullcome 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 mvcomando. Ciò di cui sono curioso è perché ls -la /dev/nullprima di sostituirlo con un file normale mostra l'output previsto, ma in seguito mostra che /dev/nullnon esiste anche se un file è stato presumibilmente creato tramite il mvcomando originale e il comando file mostra ASCII Text. Penso che questa debba essere una combinazione del lscomportamento del comando in combinazione con devfsquando un file non speciale sostituisce un file carattere / speciale. Questo è su Mac OS X, i comportamenti possono variare su altri SO.
rmcomando.
devfsè divertente sui file normali. Strano però non hai ricevuto un errore mv. Che ne dici di questo modo touch testfile; mv testfile /dev:?
mvpuò essere atomico solo sullo stesso filesystem.
/dev/null.