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系统下的目录树结构

Linux系统目录树结构以及解释相关推荐

  1. linux系统目录结构介绍

    在cmd下输入 ls  /   表示查看系统目录结构 树状目录结构: 对系统目录结构的解释: /bin: Bin是binary的缩写,这个目录存放者最经常使用的命令 /boot: 这里存放的是启动Li ...

  2. Linux系统目录结构说明

    Linux系统目录结构说明 文章目录: 一.查看根目录 二.系统根目录的解释说明 三.需要注意的文件目录 一.查看根目录 Linux 系统目录结构 登录系统后,在当前命令窗口下输入命令: ls / 你 ...

  3. 64位系统目录在那里_教你玩转Linux系统目录结构

    Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的.Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POS ...

  4. Linux系统目录结构解析(centos)

    2019独角兽企业重金招聘Python工程师标准>>> [Linux系统目录结构] 登录系统后,在当前命令窗口下输入 ls / 你会看到 以下是对这些目录的解释: /bin bin是 ...

  5. Linux系统目录详解

    Linux系统目录 目录解释: /bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令. /boot: 这里存放的是启动 Linux 时使用的一些核心文件, ...

  6. linux防火墙shell脚本,Linux系统目录结构,Shell脚本;关闭和开启防火墙

    Linux系统目录结构 目录 描述 备注 /bin a.存放着最经常使用的命令 b.可执行文件,用户命令 c.构建最小系统所需要的命令 /boot a.内核与启动文件 b.系统启动相关文件 c.启动L ...

  7. Linux系统目录结构

    linux系统目录结构 以下是对这些目录的解释 /bin: bin是Binaries(二进制文件)的缩写,这个目录存放着最近经常使用的命令. /boot: 这里存放的是启动Linux时使用的一些核心文 ...

  8. ossfs工具将OSS挂载到阿里云linux系统目录例子

    ossfs 是基于 aliyun OSS 的 fuse 客户端了,所以我们把它用在阿里云上肯定是没有错了,下面来看一篇关于ossfs工具将OSS挂载到阿里云linux系统目录例子,具体的细节如下文介绍 ...

  9. linux sys存放内容,了解linux系统目录,sys,tmp,usr,var!

    原标题:了解linux系统目录,sys,tmp,usr,var! linux小白到大神的成长之路:了解linux系统目录,sys,tmp,usr,var! 本经验由宗龙龙原创,全文共600多字,阅读需 ...

最新文章

  1. 数组方法深入扩展(遍历forEach,filter,reduce等)
  2. comet OJ 01背包
  3. cytoscape要求的JAVA版本_微生物研究必备:Cytoscape绘制网络图(一)
  4. android软件开发考试,Android软件工程师笔试题(全选择题)【0-1年经验】
  5. GDCM:检查二个dicom文件的BigEndian错误的测试程序
  6. oracle表设置主键自增长,笔记:oracle表设置主键自增长
  7. 【Android】Android中WIFI开发总结(一)
  8. 【论文学习】Bringing Old Photos Back to Life
  9. 计算机硬盘出现过哪些问题,出现这几种征兆, 说明您的电脑机械硬盘可能就有问题了!...
  10. LINUX用iptable完成端口映射
  11. timestamp ---自动更新修改时间 与 记录首次插入时间
  12. 史上最完整的APP商城源码(含服务器)
  13. java内嵌浏览器的几种方式
  14. 使用Java生成验证码
  15. 单件模式(Singleton Pattern
  16. BigDecimal比较大小工具类
  17. Docker常用命令和实战演练
  18. 哥特动漫萌盘(网盘不限速下载器) v1.0.1
  19. 南阳OJ 题目64:小学生算术
  20. Vuforia 使用

热门文章

  1. 洛谷 P2790 ccj与zrz之积木问题
  2. 3月18日云栖精选夜读 | 开发者必看!探秘阿里云Hi购季开发者分会场:海量学习资源0元起!... 1
  3. Android LCD(一):LCD基本原理【转】
  4. 2022-2027年中国医疗服务机器人行业市场调研及未来发展趋势预测报告
  5. 推荐几款实用软件工具
  6. 微软今天的Windows 10硬件发布会汇总:手机瞬间变PC
  7. 网站建设(一)PHP深入学习
  8. javascript学习1-变量和语句
  9. MSTP:多生成树协议
  10. 设计模式---状态模式(State Pattern)