首页 > 代码库 > linux学习之路之目录结构
linux学习之路之目录结构
FHS的产生
我们知道目前linux的发行版本很多,如果每一个发行版本,它的目录层次结构都不相同的话,那么当管理员去管理其他的linux主机时,就会不知多措了。而且在开发过程中,如果每一个程序员都按照自己的想法去存放的数据的话,那么其他的程序员想去查找别人的数据文件时,这是问题就来了,因为文件系统中存放了那么多的数据,谁知道你把数据存放在哪儿了?因此,需要一个标准来规范,这样每个人都按照这种规范去存放、查找数据等操作,这样,当其他人如果需要去查找的话,就会简单多了。
FHS:全称为文件系统目录标准
用于规范的目录的层次结构
当然,在这里只介绍一些比较常见的目录结构
/boot:系统启动的相关文件,如内核、initrd以及grup(bootloader)
/dev:设备文件的存放位置
设备文件分为块设备文件和字符文件
块设备文件:随机访问设备,按数据块为单位来访问,如磁盘
字符设备文件:线性访问,按字符为单位来访问
/etc:配置文件的存放位置
/home:普通用户的家目录位置,默认普通用户的家目录为/home/USERNAME
/root:管理员的家目录
/lib:库文件和内核模块存放的位置
内核模块目录:/lib/modules
库分为静态库和动态库
静态库:形如libxxx.a的样子,利用静态库编译的文件比较大,因为静态库被整合到目标代码
中,因此静态库不需要外部函数库的支持。
动态库:形如libxxx.so的样子,动态函数库没有整合在目标代码中,只能被调用,当程序执行到相 关函数时,动态函数库中的文件才会被调用,因此程序的运行环境需要含有动态函数库。
/media:挂载点目录,一般用于移动设备的挂载
/mnt:挂载点目录,一般用于额外的临时文件的挂载
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,存放着内核映射文件(当系统关机时,里面为空)
/sys:伪文件系统,存放着跟硬件设备相关的属性映射文件(关机后,也为空)
/tmp:临时文件,/var/tmp也存放着临时文件
/var:可变化的文件,如log,mail等
/bin:普通用户的使用命令的二进制文件(跟系统启动相关的)
/sbin:管理员使用的命令的二进制文件
/usr:存放着全局共享的只读文件
当然里面还有其他子目录,如:
/usr/bin:(跟系统正常运行相关的命令)
/usr/sbin:同上
/usr/lib:函数库文件
/usr/local:第三方非关键性的程序
/usr/local/bin
/usr/local/sbin
/usr/local/lib
说明:以上只属个人了解
本文出自 “linux学习之路” 博客,谢绝转载!