![仅查看“ls -ald”即可确定目录中的文件数量](https://linux22.com/image/115809/%E4%BB%85%E6%9F%A5%E7%9C%8B%E2%80%9Cls%20-ald%E2%80%9D%E5%8D%B3%E5%8F%AF%E7%A1%AE%E5%AE%9A%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E6%95%B0%E9%87%8F.png)
我有一个包含很多文件的目录。
如何通过 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 个文件的目录通常具有相同的大小。