Some kernels, such as Linux, permit mounting one filesystem multiple times. This can make multiple paths refer to the same file, although neither hard nor symbolic links are involved. In this case, du sometimes incorrectly counts that file many times:
$ mkdir dir1 dir2 # mount --bind dir1 dir2 $ dd if=/dev/urandom of=dir1/file bs=1k count=1000 1000+0 records in 1000+0 records out 1024000 bytes (1.0 MB) copied, 0.179289 s, 5.7 MB/s $ du 1008 ./dir1 1008 ./dir2 2020 . As you may see, the file is counted twice, once as dir1/file and then as dir2/file. However, if du is run with repeated argument, it's behavior is different: $ du . . 1008 ./dir1 1012 .