下面我们介绍一下 Linux 系统根目录下面的目录名
在 Linux 中,有两种路径,一种是 绝对路径(absolute path) ,绝对路径告诉你从根目录下查找文件,绝对路径的缺点是太长而且不太方便。还有一种是 相对路径(relative path) ,相对路径所在的目录也叫做工作目录(working directory)。
linux的ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。Linux为了cpu的搜索效率而规定的,要想改变数目限制需要重新编译内核。在kernel代码中有这样的:include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000
include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000
为什么说31998个呢?这是因为mkdir创建一个目录时,目录下默认就会创建两个子目录的,一个是.目录(代表当前目录),另一个是..目录(代表上级目录)。这两个子目录是删除不掉的,“ rm . ” 会得到“rm: cannot remove `.' or `..'”的提示。所以32000-2=31998。
ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的inode数。
在一个目录下,touch了100万个文件是没有问题的。但是肯定会受到所在文件系统的inode数的限制。
df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者dumpe2fs -h /dev/sdaX查看可用inode数,后两个命令输出结果是一样的,但是跟df所得出的可用inode数会有些误差。
网上有两种解决inode数限制的办法如下
2.1 重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)
2.2 使用loopback文件系统临时解决:在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。
目录树的主要部分有root(/)、/usr、/var、/home等等。下面是一个典型的linux目录结构如下:/
根目录
/bin
存放必要的命令
/boot
存放内核以及启动所需的文件等
/dev
存放设备文件
/etc
存放系统的配置文件
/home
用户文件的主目录,用户数据存放在其主目录中
/lib
存放必要的运行库
/mnt
存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
/proc
存放存储进程和系统信息
/root
超级用户的主目录
/sbin
存放系统管理程序
/tmp
存放临时文件的目录
/usr
包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var
包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。建议单独的放在一个分区。
----------------------
2.6的内核还有个/sys的目录,内容和/proc差不多
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)