2

Is there a way to replace /dev/null device with a regular file (or a device that appends to a file, perhaps)? How much data is written to it?

(This slightly odd question is partially inspired by this..)

dbr
  • 5,147

3 Answers3

14

I would strongly advise against doing so ... depending on your system the resulting file could grow really fast. However, it's quite easy to have fun with a VM.

I will describe how to do this during one session, i.e. everything should be back the way they were after a reboot.

Obviously, this has to be done as root.

First, you need to delete the current /dev/null:

rm /dev/null

Then create a replacement file with the same name and some adequate permissions:

touch /dev/null
chmod 666 /dev/null

You may now visualize what is sent to /dev/null:

tail -f /dev/null

Finally to bring back /dev/null to its normal behaviour:

rm /dev/null
mknod /dev/null c 1 3
chmod 666 /dev/null
avelldiroll
  • 2,126
1

You can delete /dev/null and touch it as root, then restore it's permissions.

The special device goes away and you get a file instead.

enjoy.

1

On OpenBSD:

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

Some linuxes AFAIK have special device filesystems - devfs; udev - that may complicate this simple procedure.

ayrnieu
  • 287