Есть ли способ заменить /dev/null реальным файлом?

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

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

3 ответа

Решение

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

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

Очевидно, что это должно быть сделано как 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

На OpenBSD:

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

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

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

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

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

Другие вопросы по тегам