1、FHS(Filesystem Hierarchy Standard):linux目录配置的依据
FHS将目录定义成四种交互作用的形态
可分享的(shareable) | 不可分享的(unshareable) | |
---|---|---|
不变的(static) | /usr(放置软件) | /etc(配置文件) |
/opt(第三方软件) | /boot(开机与核心文档) | |
可变的(variable) | /var/mail(邮件) | /var/run(程序相关) |
/var/spool/news(新闻) | /var/lock(程序相关) |
FHS针对目录架构仅定义出三层目录底下应该放置什么数据,分别是:
- /root(根目录):与开机系统有关
- /usr(unix software resource):与软件安装与执行有关
- /var(variable):与系统运作有关
root
根目录的意义:
所有的目录都有根目录衍生出来
跟目录与开机、还原、系统修复等动作有关
FHS建议:根目录所在分区应该越小越好,且应用程序软件不应与根目录安装在一起。不但能保证性能,还能减少文件系统出现问题。
根目录下,分以下次目录
目录 | 内容 |
---|---|
/bin | 放置可执行文件 |
/boot | 开机时使用到的文件 |
/dev | 装置和借口设备 |
/etc | 系统主要的配置文件,如人员的帐号密码,各种服务的起始文件 |
/home | 用户家目录,‘~代表当前用户的家目录,~jack代表jack的家目录’ |
/lib | 系统的库函数,主要放置开机时调用和/bin、/sbin中指令调用的库函数 |
/media | 媒体,可移除的装置,包括软盘、光盘等 |
/mnt | 挂载某些额外的装置(临时挂载) |
/opt | 第三方软件安装目录 |
/root | 系统管理员的家目录 |
/sbin | 放置开机、修复、还原系统所需要的指令 |
/srv | service,网络服务取用数据的目录 |
/tmp | 让一般用户或者正在执行的程序放临时放置文件的目录 |
lost+found | 使用ext2/ext3才会产生的一个目录,在当前文件系统发生错误时,会将一些遗失的片段放置在这个目录中 |
/proc | 本身是一个虚拟文件系统,放置的数据都在内存中,例如系统核心,进程信息、周边装置的状态以及网络状态。由于在内存中所以不占用硬盘存储空间 |
/sys | 也是一个虚拟文件系统。主要也是记录与核心相关的信息,包括目前已经加载的核心模块与核心侦测到的硬件装置信息。 |
/usr的意义与内容
Unix software resource的缩写,即unix操作系统软件资源,所有系统默认的软件都会放在这里。子目录包括:
目录 | 目录内容 |
---|---|
/usr/bin | 绝大多数用户可以使用的指令 |
/usr/include | c/c++等程序语言的头文件 |
/usr/lib | 应用程序的库函数、目标文件 |
/usr/local | 系统管理员自行安装自己下载的软件,在本目录下 |
/usr/sbin | 非系统正常运作所需要的系统指令。最常见的某些网络服务软件的服务指令 |
/usr/share | 放置共享文件 |
/usr/src | 放置源码,核心源码在/usr/src/linux |
/var的意义与内容
/var目录主要放置经常变动的文档
子目录包括
目录 | 目录内容 |
---|---|
/var/cache | 应用程序缓存 |
/var/lib | 程序运行过程中需要使用的数据文件 |
/var/log | 放置登录文件 |
/var/lock | 同步锁,确保某些装置同一时刻只能被一个程序使用 |
/var/mail | 电子邮件信箱 |
/var/run | 某些程序或者服务启动后的PID放置在该目录下 |
/var/spool | 放置一些队列数据,使用后通常会被删除 |