概述
Linux作为开源操作系统,它也遵循着FHS(英文:Filesystem Hierarchy Standard 中文:文件系统层次结构标准),这样能使文件的管理更加清晰。
文件系统目录
早期的Linux是严格遵守FHS的规范,系统根分区下有以下这些/bin,/boot,/dev,/etc,/home,/lib,/lib64,/media,/mnt,/opt,/proc,/root,/run,/sbin,/srv,/sys,/tmp,/usr,/var目录。但是随着系统的不断的发展,发行版厂商和社区发现有些目录的功能比较相似,可以将功能进行合并,比如是/lib,/lib64,/sbin和/bin
lib下的主要放的就是库文件,这些库文件可以被系统或者应用程序所调用,bin开始的时候是严格区分的系统的程序和系统的管理程序与用户的区分,现在已经已经弱化这种区别了。
这个Centos8的目录结构可以看得出原有的目录已经成为链接文件了。
具体的目录分工
下面就来一起看看标准的FHS的目录功能区分。
/bin 这个目录是包含所有的管理员和用户都可以用到程序,同时也包含了单用户模式下可以用的程序。
/boot 这个目录包含了系统启动所需要的启动引导文件和内核文件
/dev 这个目录比较特殊,这个目录仅包含设备文件
/etc 系统的配置文件大部分都在此目录内
/opt 额外安装的软件包的位置
/home 所有普通用户的默认家目录的位置
/lib 共享的库文件或者是内核级别的库文件
/lib64 64位的库文件
/meida 作为可移动存储介质挂载的目录
/mnt 作为临时的挂载点
/root root超级用户的家目录
/srv 提供特定服务存放的目录
/tmp 临时文件存放的目录
/usr 这个目录作为第二大文件系统,这个目录存放可以用共享的只读数据。
/usr/bin 用户最多命令存放位置
/usr/lib 程序或者库文件存放目录
/usr/lib64 64位程序存放的位置
/usr/sbin 非必须的标准的程序
/var 这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录能够放在这个目录下,实际上许多系统管理员都是这样干的。系统的日志文档就在/var/log目录中
/proc 这个是内存虚拟文件的挂载点,在必要时候可以与内核进行交互。
/sys 内存中的映像挂载点
/run 存放系统PID文件的目录
总结
现在Linux的文件系统,大体是遵循FHS标准,但是各自发行版在二级目录以下就会存在或多或少的差异。
参考文献
FHS标准 FHS2.3标准