仅查看“ls -ald”即可确定目录中的文件数量

仅查看“ls -ald”即可确定目录中的文件数量

我有一个包含很多文件的目录。

如何通过 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 个文件的目录通常具有相同的大小。

相关内容