Неоднократно видел в интернете истории на тему случайного удаления /dev/null. Так как эта штука часто используется в командах bash или скриптах, достаточно перепутать какие-то аргументы или места в командах и удалено будет не то, что ожидается.
Конкретно с /dev/null никаких проблем не будет. Можно просто перезагрузить систему, либо выполнить без перезагрузки:
# mknod -m 666 /dev/null c 1 3
Если я не ошибаюсь, то /dev устройства создаются динамически при каждой загрузке устройства и следит за этим udev.
/dev/null - символьное псевдоустройство. Ключ "c" в команде mknod как раз указывает на это (b - блочный, c - символьный). Кстати, если удалить /dev/null и создать вместо него текстовый файл, то можно посмотреть, кто и как использует это псевдоустройство. Я чисто из любопытства это сделал:
# rm -f /dev/null# touch /dev/null# chmod 0666 /dev/null# tail -f /dev/null
Дальше можно выполнять какие-то действия: логиниться в систему, обновлять пакеты, останавливать службы и т.д. Будет видно, как в /dev/null постоянно кто-то что-то отправляет и делает truncate потом, так что файл будет всегда нулевого размера и без tail посмотреть, что туда пишут, не получится.
#terminal #linux