Якщо я: touch file; mv file /dev/null
як корінь, /dev/null
зникає. ls -lad /dev/null
результатів немає такого файлу чи каталогу. Це розбиває програми, які залежать від /dev/null
SSH, і їх можна вирішити, виконавши mknod /dev/null c 1 3; chmod 666 /dev/null
. Чому переміщення звичайного файлу в цей спеціальний файл призводить до зникнення /dev/null
?
Для уточнення це було для тестування, і я розумію, як mv
працює команда. Мені цікаво те, чому ls -la /dev/null
перед заміною звичайного файлу відображається очікуваний вихід, але після цього він показує, що /dev/null
його не існує, навіть якщо файл нібито створений за допомогою оригінальної mv
команди, а команда файлу показує текст ASCII. Я думаю, що це має бути поєднання ls
поведінки команди в поєднанні з тим, devfs
коли не спеціальний файл замінює символ / спеціальний файл. Це на Mac OS X, поведінка може відрізнятися від інших ОС.
rm
команда.
devfs
смішно стосується звичайних файлів. Дивно, що ви не отримали помилки з цього приводу mv
. Як щодо цього способу touch testfile; mv testfile /dev
:?
mv
може бути атомним лише в одній файловій системі.
/dev/null
.