我有一个包含很多文件的目录。
如何通过 ls 报告的元数据的大小找到
drwxr-x--- 2 www-data www-data 1017M Aug 8 10:44 cookies_
目录中有多少个文件。
我不想数它们(即使在确定目录中的文件数量而不计算它们有数)
答案1
由于多种原因,你不能。
第一个是目录的大小会增加,但不会缩小(无论如何在大多数文件系统上)。尝试这个:
mkdir testdir && cd testdir
touch {1..100000}
rm {1..100000}
ls -ld ../testdir
这将产生一个相当大的目录(诚然与您的目录不同,但这与这里无关),不包含任何文件......
第二个是,在大多数情况下,目录条目内的文件记录的长度是可变的,具体取决于文件的名称。例如,参见ext4 磁盘布局。
第三,目录甚至可能不是线性的,这使事情变得更加复杂。
第四,目录的大小是块大小的倍数,因此包含一个文件的目录和包含 20 个文件的目录通常具有相同的大小。