drwxrwxr-x 2 xyz xyz 176128 Jul 29 02:03 20170429
drwxrwxr-x 2 xyz xyz 110592 Jul 31 01:22 20170430
cd 20170429
ls -lart
total 196
drwxrwxr-x 2 xyz xyz 176128 Jul 29 02:03 .
drwxrwxr-x 253 xyz xyz 20480 Aug 4 00:00 ..
du -sh 20170429
176K 20170429
du -sh 20170430
124K 20170430
参照以上信息,我想知道对于空目录20170429
,20170429
为什么我们执行时仍然显示内存空间为 176128 和 176128。ls -lrt
这些信息从何而来?是来自 inode 吗?还请注意,即使如此,du -sh
它们仍然分别显示空目录的 176k 和 124k。
答案1
我的猜测是该目录过去包含大量文件,并且文件系统在删除文件时不会截断目录条目。
例子:
$ mkdir test_dir
$ du -h test_dir
2.0K test_dir
$ touch test_dir/file{001..500}-{01..10}
我们现在有一个包含 5000 个空文件的目录。
$ du -h test_dir
102K test_dir
大小仅来自空文件的目录条目。
$ rm test_dir/file*
$ du -h test_dir
102K test_dir
当文件被删除时,大小不会减小(在此文件系统上)。