On 02/22/2017 12:27 PM, Anthony K wrote:
On 23/02/17 06:04, John R Pierce wrote:
on many modern file systems, larger directories are stored as some
sort of B-Tree or hash tree, so there's quite a lot of indexing data
in there along with the actual directory entries
So I gather this depends on the file system.
The structure will vary slightly, but you can reasonably expect that a
directory will act like a file, expanding in size to accommodate its
directory entries.
On my ext4 file system, I have a directory that has >2TB and the
directory entry itself only shows:
$ ls -ld Stuff
drwxrwxr-x 146 akk akk 36864 Feb 21 21:18 Stuff/
It might help to understand what a directory entry is. See "man 3 readdir".
A directory entry is generally what you see if you run "ls -i" in a
directory. It is an inode number, and a name associated with that inode
number. The size of the directory typically represents the largest that
individual directory has had to be in order to contain the list of
inodes and names immediately within it. The directory's size is not
influenced by the size of files within it, nor by the contents of
sub-directories.
Does that clarify why there's no relationship between the size of the
"Stuff" directory reported by "ls -ld", and the size of its contents
reported by "du"?
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
https://lists.centos.org/mailman/listinfo/centos