Does the /dev/null file actually have a fixed size?

/dev/null is not really a file. It's a character device!

$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Apr 10 09:53 /dev/null

The first letter c of the permissions string (crw-rw-rw-) indicates this. For regular files, it would be a - instead.

So in easy words: /dev/null is not a file but a virtual device mapped to this path in the file system, which has the only purpose to swallow and vanish data - like a black hole.
It can also be used as input though, then it acts like an empty file (size 0) and immediately returns an EOF (End Of File).

Therefore you can not really say that /dev/null has a specific file size, as it's not a regular file on any storage medium.


/dev/null is a special kind of file called "device file".

Device files act as a interface to some kernel functions. They just occupy the space that is needed for a directory entry ("inode") but don't have any real content and don't have an actual file size.

Other device files are e.g. /dev/sda (generally a HDD or SSD), /dev/zero (a file that generates zero's when read), or /dev/random (a file that generates random data when read). Actually about all files in /dev/ are either device files or links pointing to device files.