Якщо я: touch file; mv file /dev/nullяк корінь, /dev/nullзникає. ls -lad /dev/nullрезультатів немає такого файлу чи каталогу. Це розбиває програми, які залежать від /dev/nullSSH, і їх можна вирішити, виконавши 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.