linux目录结构以及目录结构命名规定
利用linux内核开发产品或发行版的公司和组织太多太多,如果每个人按照自己的想法来构建liunx的目录的话那势必导致不同的发行版本目录结构不同,Linux基金会维护发现这样不利于linux生态的发展,在基于这个问题上FHS应孕而生。
FHS 取自英语:Filesystem Hierarchy Standard 的三个首字母,其意思就是文件系统等级标准,当前版本为3.0与2015年6月3日发布,这个标准规定了文件系统的目录结构以及目录中应该包含哪些类的文件。
在演化的过程中,FHS在不断吸收经验教训并不断修正,FHS认为静态和动态文件应该是隔离的,因为静态文件不像动态文件,可以存储在只读设备中并且不需要按照动态文件备份策略那样备份,按照这个说法就衍生出这样一张表
| 分享 | 不可分享 | |
| 静态文件 | /usr | /etc |
| /opt | /boot | |
| 动态文件 | /var/mail | /var/run |
| /var/spool/news | /var/lock |
具体的目录结构先不看下文有详细的介绍,主要看分享,不可分享,静态和动态这四种分类
分享:可以分享给其他系统挂载使用的目录,所以包括程序与使用者的邮件等资料, 是能够分享给网路上其他主机挂载用的目录;
不可分享:自己机器上面运作的装置档案或者是与程序有关的socket档案等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。
静态:有些资料是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明档、系统管理员所管理的主机服务设定档等等;
动态:经常改变的资料,例如登录记录、一般用户可自行设置的新闻群组等。
下面我们来看看具体的划分
/bin: 所有用户可用的基本命令程序文件:
/sbin: 供系统管理使用的工具:
/boot: 引导加载器必须用到的各种静态文件: kernel, initramfs(initrd),grub等
/dev: 存储特殊文件或设备文件:设备有两种类型:字符设备(线性设备)、块设备(随机设备):
/etc: 系统程序的配置文件,只能为静态
/home: 普通用户的家目录的集中位置:一般为每个普通用户的家目录默认此目录下与用户名同名的子目录:/home/USERNAME
/root: 管理员的家目录:可选
/lib: 为系统启动或根文件系统上的应用程序(/bin,/sbin等)提供共享库,以及为内核提供内核模块
libc.so.*: 动态链接的c库
ld*: 运行时链接器/加载器
modules: 用于存储内核模块的目录
/lib64: 64位系统特有存放64位共享库的路径:
/media: 便携式设备的挂载点,cdrom floppy zip
/mnt: 其他文件系统的临时挂载点
/opt: 附加应用程序的安装位置:(可选路径)
/srv: 当前主机为服务提供的数据
/tmp: 为那些会产生临时文件的程序提供用于存储临时文件的路径:可供所有用户执行写入操作,有特殊权限
/usr: user Hierarchy,全局共享的只读数据路径
bin,sbin
lib,lib64
include: C程序头文件
share: 命令手册页和自带文档等架构特有的文件存储位置
x11R6: X-Window 程序的安装位置
src: 程序源码文件的存储位置
/usr/local: local Hierarchy 让系统管理员安装本地应用程序:也通常用于安装第三方程序
/var var Hierarchy
/proc: 为内核及进程存储其相关信息:它们多为内核参数,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward 存储与/proc/sys/其完整路径为/proc/sys/net/ipv4/ip_forward
/sys :参考 https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/index.html

浙公网安备 33010602011771号