Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。
FHS定义了两层规范,
第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。
第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。
整个Linux系统最重要的地方就是在于目录树架构,所谓的目录树架构就是以 / 根目录为主, 然后向下呈现分支状的目录结构的一种档案架构。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwIzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL0EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5SNhNzMmBTYiZGZ0UWZmFDZ3Q2YlZmMiVGZyYDNwYGZ58CX5IzLcdDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLzM3Lc9CX6MHc0RHaiojIsJye.jpeg)
根目录(/)
最高一级目录,所有目录都是根目录衍生出来,只有root用户具有写权限,一般根目录下只存放目录,不要存放文件
/bin目录 – 用户二进制文件
包含二进制的可执行文件,你需要的常见的Linux命令都位于此目录下。
/sbin目录 – 系统二进制文件
这个目录下的命令通常由系统管理员使用, 对系统进行维护。
/etc– 配置文件
包含所有程序所需要的配置文件,也包含用于启动/停止单个程序的起动和关闭shell脚本。
/dev-设备文件
包含设备文件,包括终端设备、USB或连接到系统的任何设备,如网卡等。
/proc-进程信息文件
这是一个虚拟的文件系统,包含有关正在运行的进程信息。
/usr-用户程序
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。
/usr/src 内核源代码默认的放置目录。
/home -HOME目录
包含所有用户的个人档案,Linux是多用户的系统,所以用该目录保存各用户的信息。
/boot -引导加载程序
包含引导加载程序相关的文件。
/lib -系统库
包含支持位于/lib和/sbin下的二进制文件的库文件。
/opt -可选的附加应用程序
给主机额外安装软件所摆放的目录,以前的 Linux 系统中,习惯放置在 /usr/local 目录下
/mnt /media -挂载目录
光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。
/root 管理员家目录
/tmp 临时文件目录
程序运行时产生的临时文件存放目录
/lost+found
在EXT3系统中,当系统意外崩溃或意外关机时,会产生一些碎片文件在这个目录下面,系统启动时fcsk工具会检查这个目录,并修复已损坏的文件系统
/var 存放内容常变动的文件目录
/sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs
sysfs文件系统集成了下面3种文件系统的信息:
针对进程信息的proc文件系统、
针对设备的devfs文件系统
针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
/run 临时文件系统,存储系统启动以来的信息
当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run
/srv 存放服务启动后需要提取的数据(不用服务器就是空)
/dev目录
一个设备节点其实就是一个文件,Linux中称为设备文件。
在Linux中,所有的设备访问都是通过文件的方式,一般的数据文件程序普通文件,设备节点称为设备文件,而这些设备节点,或者说是设备文件都统一存放在/dev目录下,简单来说,设备节点是一种特殊的文件,只不过这个文件存放的不是一般的数据,而是和你计算机中的设备相关联的。
在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。
. :代表当前的目录,也可以使用 ./ 来表示;
.. :代表上一层目录,也可以 ../ 来代表。
如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件
linux的路径书写方式有两种:
绝对路径:路径的写法一定是由根目录 / 写起的,以根目录为起点;
相对路径:路径的写法不是由根目录 / 写起的,不以根目录为起点。
至于优缺点方面没有绝对的答案,不同情况使用不同的路径罢了,两种路径的出现只是因为参照物不同而已
CentOS 7 后使用systemd 管理