Linux系统目录树结构以及解释

FHS标准

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式,类似于Windows操作系统中c盘的文件目录,FHS采用树形结构组织文件。FHS定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。

FHS定义了两层规范,第一层是,/下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。你能想象,你进入一个企业之后,所接触到的Linux目录配置方法竟然跟你以前学的完全不同吗?很难想象。所以,后来就有所谓的文件系统层次标准(Filesystem Hierarchy Standard,FHS)出台。

第二层则是针对/usr/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

也就是说,实际上,FHS针对目录架构仅定义了三层目录下应该放什么数据,分别是:

  • / (root,根目录):与开机系统有关。
  • /usr (UNIX software resource): 与软件安装和执行有关。
  • /var (variable): 与系统运作过程有关。

Linux目录树

树状目录结构

在这里插入图片描述

各个目录的解释

bin

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令,放置的是在单用户模式维护模式下还能被操作的命令,/bin下命令可以被root和一般账号使用。如:cat、chmod、chown、mkdir、cp等

boot

放置开机会使用到的文件,包括liunx内核文件以及开机菜单与开机所需配置文件,包括一些连接文件以及镜像文件等。

/dev

dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备与接口设备文件,在 Linux 中访问设备的方式和访问文件的方式是相同的,只要通过访问这个目录下面的某个文件就相当于访问该设备。

/etc

etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

系统主要配置文件几乎都放置在这个目录内,如用户账号、密码、各种服务起始文件等、该目录下的文件普通用户可以查看,但只有root用户有权修改。FHS建议不要放置可执行文件(binary)在此目录。

  • 该目录下比较重要的文件有:
    • /etc/inittab
    • /etc/init.d/
    • /etc/modprobe.conf
    • /etc/X11/:与X Window 有关的各种配置文件放在这里,尤其是xorg.conf这个XServer的配置文件。
    • /etc/xinetd.d/: super daemon 管理的各项服务的配置文件目录。
    • /etc/fstab
    • /etc/sysconfig
  • 该目录下重要的目录有:
    • /etc/init.d/: 所有服务的默认启动脚本都是放置在这里的。
      例如启动或关闭iptables命令为:

      /etc/init.d/iptables start  #启动
      /etc/init.d/iptables stop   #关闭
      

/home

系统默认用户的主文件夹,创建账户时会在该目录下自动生成这个用户的主文件夹,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。

/root

系统管理员主文件夹,一般希望root的主文件夹与根目录放置在同一个分区中。

/lib

lib 是 Library(库) 的缩写,放置的是在系统开机时用到的函数库以及系统最基本的动态连接共享库,几乎所有的应用程序都需要用到这些共享库。其作用类似于 Windows 里的 DLL 文件,在/bin/sbin下面的命令会调用到的函数库也在/lib内。

/lib/modules/这个目录下放置内核相关的驱动程序。

/media

/media下面放置的是可删除设备。linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mmt

/media功能相似,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt

opt 是 optional(可选) 的缩写,这是给主机额外安装 第三方软件放置目录,比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。

/proc

proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

比如查看某个进程的信息:ll /proc/pid

这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/run

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

/sbin

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序,/sbin目录下的命令只有root用户能够使用,普通用户只有查询的权限。/sbin下包含开机、修复、还原系统所需要的命令。

至于服务器软件程序命令,一般放置在/usr/sbin/

本机自行安装的第三方软件产生的命令,则放置在/usr/local/sbin/中。

/tmp

一般用户或者正在执行的程序暂时放置文件的地方。这个目录是任何人可以访问的,需要定期清理。

注意: 不可以与根目录分开的目录有:/etc/bin/sbin/dev/lib这五个目录。

/sys

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。

sysfs 文件系统集成了下面3种文件系统的信息:

  • 针对进程信息的 proc 文件系统、
  • 针对设备的 devfs 文件系统
  • 针对伪终端的 devpts 文件系统。

该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/selinux

这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/srv

一些网络服务启动之后,这些服务所需要读取数据的目录。常见的服务例如WWW、FTP等,WWW服务需要的网页数据放置在/srv/www/里面。

/usr

用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr下包含的子目录:

  • /usr/lib/: 包含各应用软件的函数库、目标文件以及不被一般用户惯用的执行文件或脚本。注意该文件名也可能为/usr/lib64
  • /usr/bin/: 绝大部分的用户可使用命令放这里,注意与/bin的不同之处(是否与开机过程有关)。
  • /usr/sbin/: 非系统正常运行所需要的系统命令。
  • /usr/src/: 内核源代码默认的放置目录。
  • /usr/local/: 第三方软件安装位置。
  • /usr/share/: 放置共享文件的地方,各种帮助文档目录也在这个下面。
  • /usr/include/:C/C++等程序语言头文件与包含文件放置处,当使用tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用里面的许多文件。
  • /usr/X11R6/ :X Window 系统重要数据防止目录。

/var

存放经常修改的数据,比如程序运行的日志文件(/var/log 目录下)。

/var下包含的子目录:

  • /var/cache/: 应用程序运行过程产生的一些暂存文件。
  • /var/lib/: 程序本身运行过程中,需要使用到的数据文件放置在这里。
  • /var/lock/: 某些设备或文件资源只能被一个应用程序使用,该文件就是将该文件上锁,以确保单一软件使用。
  • /var/log/: 登录文件放置目录。
  • /var/mail/: 个人邮件信箱目录,不过这个目录也被放置到/var/spool/mail/目录中,这两个目录互为连接文件。
  • /var/run/:某些程序或服务启动后,会将它们的PID放置在该目录下。
  • /var/spool/: 该目录放置一些队列数据。

参考:菜鸟教程
参考:Linux系统下的目录树结构

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L-960

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值