Linux文件系统目录结构介绍
Linux文件系统目录结构 (英文名: Linux File System Directory Structure):
要所文件系统目录结构我们就要先知道什么是文件系统,文件系统是操作系统用于明确存储设备(常见的是磁
盘,也有基于 NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
Linux文件系统目录结构其实就是定义 Linux文件系统存放目录和文件的方式。 Linux文件系统遵从FHS 。
什么是FHS?
FHS即是 Filesystem Hierarchy Standard(文件系统层次结构标准)的缩写。它定义了两层规范
第一层:/下面的各个目录应该要放什么文件数据;
第二层:针对/usr及/ar这两个目录的子目录来定义。
FHS特点:FHS只定义出最上层(/)及子层(/usr,/var)目录内容应该要放置的文件数据,因此,在其他子目录层级内,可以随开发人员自行配置。
FHS目录定义图例
FHS是根据过去的经验一直再持续的改版的,FHS依据文件系统使用的频繁与是否允许使用者随意变动,而将目录定义成为四种交互作用的形态,用表格来说有点像底下这样:
FHS交互作用形态定义
FHS目录定义的四种交互作用的形态定义 :
1、可共享的
可以共享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机
挂载用的目录;
2、不可共享的
本地计算机上面运行的设备文件或者是与程序有关的socket文件等,由于仅与自身机器有关,所以不能共享给
其他计算机。
3、不可变动的
有些数据是不会经常变动的,跟随着文件 distribution而不变动。例如函式库、文件说明文件、系统管理员所
管理的主机服务配置文件等等。
4、可变动的
经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等。
FHS目录树架构定义
FHS针对目录树架构定义出以下三层目录:
-
/(robt,根目录):与开机系统有关;
-
/usr(unix software resource):与软件安装/执行有关;
-
/var(variable):与系统运行过程有关。Linux文件系统目录结构
根目录(/)的意义
-
根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时根目录也与开机/还原/系统修复等动作有关。
-
由于系统开机时需要特定的开机软件、核心文件、开机所需程序、函式库等等文件数据,所以当系统出现错误时,根目录也必须要包含有能够修复文件系统的程序才行。由于根目录重要性,FHS建议根目录不要放在非常大的分区内,因为分区越大可能存储的文件就越多,如此一来可能会提高发生错误的概率。
-
FHS标准建议:根目录(/)所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区。
-
按照FHS标准执行,不但可以提高计算机的效能,而且也可以减少问题的产生。
根目录(/)包含的内容
FHS针对根目录所定义的标准就仅限于上表,不过仍旧有些目录也需要我们了解
除了这些目录的内容之外,另外要注意的是:因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会持续的进行挂载的行为。所以我们要了解那哪些目录不可与根目录分开:
-
/etc:配置文件
-
/bin:重要执行档
-
/dev:所需要的装置文件
-
/lib:执行档所需的函式库与核心所需的模块
-
/sbin:重要的系统执行文件
/usr目录的意义与内容
usr是 Unix Software Resource的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows下的 program files目录。FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录中,/usr/下包含一下目录:
/var目录的意义与内容
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件,包括程序文件(lock file, run file),或者例如 MySQL数据库的文件等等。常见的次目录有:
目录树和路径
目录树 (英文名: Directory tree)
在 Linux中,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头,然后再一个一个的分支下来,因此,我们也称这种目录配置方式为:目录树( directory tree),这个目录树的主要特性有
-
目录树的启始点为根目录(/,root);
-
每一个目录不止能使用本地端的 partition的文件系统,也可以使用网络上的 filesystem;
-
每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。
绝对路径 (英文名:发)
绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
在 Linux中以“/ "开始的路径
相对路径 (英文名:甲方)
相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系
在 Linux中以 “./ ” 或 “../ ” 开始的路径
符号 | 说明 |
---|---|
./ | 表示当前目录 |
../ | 表示上一层父目录 |
~用户名 | 表示指定用户的主目录作为起点 |