为何突然想要了解Linux目录命名规范:
其实主要目的是为了方便记忆,也为了能够预测已安装文件和目录的位置。
主要来源就是如下文献
一、官方权威依据:FHS 文件系统层次标准
FHS(Filesystem Hierarchy Standard,文件系统层次结构标准) 是 Linux 目录体系的唯一官方标准,由 Linux 基金会维护,最新稳定版本为 FHS 3.0(2015)。
官方文档地址:https://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html
FHS 标准前身是 1994 年发布的 FSSTND,制定目的是统一各个 Linux 发行版的目录结构,解决早期系统目录混乱、软件不兼容的问题。标准严格规定了根目录下所有目录的用途、权限、存放内容、设计规范,是 Linux 目录体系的官方说明书。
二、Linux 目录命名的历史由来
Linux 所有核心目录命名,全部继承自 1970 年代早期 Unix 系统。
由于早期计算机磁盘空间极小、文件名长度受限、输入效率低,开发者统一采用 三字母极简缩写 命名系统核心目录。这种简洁、高效的设计习惯,被完整继承到 Linux 系统中,沿用至今,成为全球通用的行业标准。
典型三字母缩写目录:bin、dev、etc、lib、tmp、var 等。
三、Linux 核心目录完整释义表(缩写+全称+历史+官方用途)
下表整合 FHS 3.0 官方定义 + Unix 历史溯源:
| 目录 | 英文全称(缩写来源) | 历史背景与官方用途(FHS 3.0) |
|---|---|---|
/ |
Root Directory | Linux 唯一根目录,所有文件、目录、设备的顶层挂载起点,是整个文件系统的根节点。 |
/bin |
binaries | FHS 定义:存放所有用户可用的基础二进制命令,如 ls、cat、cp。源自早期 Unix 基础工具目录,保证系统在最小环境下可正常运行。 |
/boot |
boot | 存放系统开机引导静态文件,包含内核、引导程序、启动配置,是系统开机启动的核心目录。 |
/dev |
devices | 设备文件目录,遵循 Linux「万物皆文件」设计,用于映射硬盘、网卡、外设等硬件设备,供系统调用硬件资源。 |
/etc |
etcetera 别名释义:Editable Text Configuration | 源自拉丁语「等等、其余文件」,早期存放所有无法归类的杂项文件;现代 FHS 定义为 主机专属系统配置目录,存放系统与服务所有配置文件。 |
/home |
home | 普通用户家目录,用于存放用户个人文件、配置、数据,实现多用户数据隔离,为系统可选目录。 |
/lib |
libraries | 存放系统核心共享库、内核模块,是系统命令与程序运行的依赖基础,相当于 Windows 的 DLL 库文件。 |
/media |
media | FHS 标准定义:可移动媒体挂载点,自动挂载 U 盘、光盘、移动硬盘等外部设备,用于临时访问移动存储数据。 |
/opt |
optional | 可选第三方软件安装目录,源自 System V Unix 规范,专门存放额外安装的大型独立应用软件。 |
/proc |
process | Linux 专属虚拟文件系统,不占用磁盘空间,实时存放内核、进程、系统运行状态的动态信息,用于查看系统实时参数。 |
/root |
root | 超级管理员 root 的专属家目录,权限最高、普通用户不可访问,用于存放管理员私有配置与数据。 |
/sbin |
system binaries | 系统级二进制命令目录,仅 root 管理员可使用,存放开机、修复、磁盘管理等系统核心运维命令。 |
/tmp |
temporary | 系统临时文件目录,存放运行过程产生的缓存、临时数据,系统重启自动清空,用于释放系统资源。 |
/usr |
Unix System Resources早期:User System Resources | 早期用于存放用户数据,FHS 现代定义为系统资源目录,存放系统预装程序、工具、文档、库文件,相当于系统的「程序目录」。 |
/var |
variable | 可变数据目录,专门存放系统运行中持续变化的数据,包括日志、数据库、缓存、运行状态文件,是系统动态数据存储核心目录。 |