Today I found an empty directory with a size of 4MB.It had no visible contents, so I tried ls -lah. This showed me some hidden files (not very large). Searching for the reason why the directory was so large I found that the dot file (.) had a size of 3.9MB.Maybe this is a newbie question, but what gets stored in that file? Isn't that just a kind of link to the same directory?Here is the shell output (anonymized):-bash# more /proc/versionLinux version 2.6.18-8.1.15.el5 (mockbuild@builder6.centos.org) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Mon Oct 22 08:32:04 EDT 2007-bash# pwd/data/foo/bar/tmp-bash# ls -lahtotal 4.1Mdrwxrwxrwx  3 nobody nobody 3.9M Nov 21 10:02 .drwxrwxrwx 16 nobody nobody 4.0K Aug 27 17:26 ..-rw-------  1 root   root    20K Oct 25 14:06 .bash_history...
Why could the size of the dot file . exceed 4096?
filesystems;directory;ls;ext4;size
The dot file, like every directory, contains a list of names for the files in this directory and their inode numbers. So if you once had lots of files in that directory (not unlikely for a tmp directory) that would have made the directory entry grow to this size. After the files are gone, the file system doesn't automatically shrink the directory file again.You can experiment with this yourself by making a new empty directory, do ls -la in it to see the initial size (4096 on my machine) then touching a lot of files, which will make the directory size grow. (Yes I know that I'm glossing over/being inaccurate about a lot of details here. But the OP didn't ask for a full explanation of how EXT* file systems work.)