Linux系统中的根文件系统的层级结构(Filesystem Hierarchy Standard FHS)

前言

文件系统层级结构由很多目录组成,且大多数的目录也都包含更多的子目录。并且目录庞杂繁多,涉及到这台电脑运行的方方面面,下面就边联系便区别帮助理解。
官方文件上面说过,明了的结构是FHS的主要目的,他们希望独立的软件开发商、操作系统制作者、以及想要维护系统的用户,都能够遵循FHS的标准,这样就需要让开发者使用者清楚明白的了解各个文件的存放位置。

根目录下子目录简介

目录 全拼 描述
bin binaries 所有用户可执行的命令程序文件
sbin system binaries 系统管理命令程序,通常只有root用户可以执行
boot Static files of the boot loader 系统启动引导过程中加载的文件存放目录
dev Device files 系统设备文件存放路径
etc Editable Text Configuration 系统程序的配置文件
home home 普通用户家目录集合
root root 超级用户家目录
lib library 系统启动程序和根下应用程序(/bin,/sbin等)提供共享库
lib64 library64 64位系统存放64位库的路径
media media 临时设备挂载点
mnt mount 系统磁盘的临时挂载点
opt Optional application software packages 系统默认第三方软件安装的位置
proc process 进程和内核相关参数信息
sys system 内核参数目录
srv service 当前主机位系统服务提供的数据
var variable 经常变化的系统数据
tmp temporary 系统临时文件存放目录
usr Universal Shared Resource 全局共享只读资源
run run 当前运行进程相关数据

根目录详解

根目录相当于Windows操作系统中c盘的文件目录。
它定义了系统中每个区域的用途、所需要的最小构成的文件和目录,同时还给出了例外处理与矛盾处理。建议越小越好。

层级结构图
/root目录是所有目录与文件的源头,每一个文件在此目录树中的文件名(包含完整路径)都是独一无二的。
因为在层级结构中开发者只是定义了/root和usr,var的内容,所以,其他层级的目录内可以随用户与开发者自行配置。
目录与开机有关,开机过程中仅有根目录会被挂载,因为如此,根目录下与开机过程有关的目录,不能够与根目录放到不同的分区(etc,bin,dev,lib,sbin)

变与不变&可分享与不可分享

  • 可变动
    需要时常改变的数据,比如日志文件,cache文件。

  • 不变的:
    不会经常变动的,像支持语言的库,一些文件的说明文当,部分配置文件。

  • 可分享的:
    分享给其他系统挂载使用的目录,比如聊天信息,邮件,文档。

  • 不可分享的:
    只与自己的计算机有关,比如自己的socket文件。

\ 可变 不可变
可分享 var/mail usr&opt
不可分享 var/run etc&boot

重要目录解析

  • usr

usr里面放置的数据是可分享的与不可变动的(如果你知道如何透过网络进行分区的挂载,usr可以分享给局域网络内其他的主机来使用)

usr是Unix Software Resource的缩写,也就是Unix操作系统软件资源所放置的目录,而不是用户的数据,这点要注意。FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行建立该软件自己独立的目录。

所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr底下,因此这个目录有点类似Windows系统中C:\Windows\ + C:\Program files\这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容量。

  • var
    var文件是可变文件。
    如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件,包括程序文件(lock file,run file),或者例如MySQL数据库的文件等等。

总结

看完这些应该对FHS有了最初步的了解,对此系统也有了初步的印象。感觉逻辑非常清晰,还会在之后对本片博客进行改进扩充。还需持续了解。

发布了7 篇原创文章 · 获赞 8 · 访问量 1288

猜你喜欢

转载自blog.csdn.net/Thorne_lu/article/details/103819247