要查看目录中有多少文件和文件夹,需要在终端中输入ls|wc-w,查看目录中有多少文件,文件夹中有多少文件,有多少子目录需要在终端中输入ls-l|wc-l。如果只是想知道文件的数量,需要在终端输入/bin/ls-l|grep-|wc-l。
linux的ext3文件系统的一级子目录默认为31998个,准确的说是32000个。
linux对于cpu的搜索效率是有规定的,内核需要重新编译改变数量限制。内核代码中有这样的内容:
includ:#定义ext2_link_max32000
includ:#定义:不能删除。#39or..#39"。所以32000-231998。
对于ext3文件系统中单个目录中的最大文件数量没有特殊限制,它受到文件系统中inode数量的限制。
在一个目录中接触100万个文件是没有问题的。但是它肯定会受到文件系统中inode数量的限制。
df-i/dev/sdax或使用tune2fs-l/dev/sdax或dump2fs-h/dev/sdax来检查可用的inodes。最后两个命令的输出结果是相同的,但是df获得的可用inodes会有一些错误。
解决互联网上inode数量限制的方法有两种,如下。
2.1当mkfs重新启动时,更多地调整inode数量(取决于您的fs中的文件总数)和更小的块大小(取决于每个文件的平均大小)。
2.2使用回送文件系统的临时解决方案:在/usr(或其他地方)创建一个大文件,然后做一个回送文件系统,将原文件移动到这个文件系统,挂载到/usr下合适的位置。这可以大大减少/usr中的文件数量。但是系统性能会有一点损失。
考试系统句柄文件的数量
cat/proc/sys/fs/file-max
查看进程打开的文件数量
lsof|wc-l