2

Есть ли способ заменить устройство /dev/null обычным файлом (или, возможно, устройством, которое добавляет файл)? Сколько данных записано в него?

(Этот немного странный вопрос частично вдохновлен этим..)

3 ответа3

13

Я настоятельно рекомендую не делать этого ... в зависимости от вашей системы полученный файл может очень быстро расти. Тем не менее, довольно легко повеселиться с виртуальной машиной.

Я опишу, как это сделать во время одного сеанса, то есть все должно быть так, как было после перезагрузки.

Очевидно, что это должно быть сделано как root.

Во-первых, вам нужно удалить текущий /dev/null:

rm /dev/null

Затем создайте файл замены с тем же именем и соответствующими правами доступа:

touch /dev/null
chmod 666 /dev/null

Теперь вы можете визуализировать, что отправлено в /dev/null:

tail -f /dev/null

Наконец, чтобы вернуть /dev/null к его нормальному поведению:

rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null
1

Вы можете удалить /dev /null и коснуться его как root, а затем восстановить его разрешения.

Специальное устройство исчезнет, и вы получите файл.

наслаждаться.

1

На OpenBSD:

cd /dev
sudo mv null blah
sudo touch null
sudo chmod a+rwx null
echo foo > /dev/null

Некоторые Linux AFAIK имеют специальные файловые системы устройств - devfs; Удев - это может усложнить эту простую процедуру.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .