linux能创建多少层目录?
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
Linux系统下如何删除某个目录下大量文件?
正常操作可以不要只删除目录而不删除文件。删除目录时,必须添加-r选项,即递归删除它。递归删除将首先删除目录中的所有文件,然后删除目录本身。除非你的其他地方的文件都有硬链接,否则删除目录后里面的文件肯定就没了。