Linux文件系统层级

2026-02-14
9
-
- 分钟
|

FHS 定义 Linux 操作系统主要目录结构、目录内容及其用途的规范;Linux文件系统采用层次化的树状结构,所有目录都从根目录"/"开始。

FHS 主要目录摘要

目录

核心用途

关键内容示例

/

根目录,整个文件系统的起点。

/bin

基本用户命令

(所有用户的基本全局命令存放位置)

ls, cp, bash

/sbin

系统管理命令(通常需要 root 权限,用于系统管理和修复)。

fdisk, ifconfig, init

/boot

启动加载器文件内核镜像

vmlinuz, initrd, grub/

/etc

主机特定的系统配置文件

/etc/passwd, /etc/fstab, 各种服务的配置

/lib

/bin/sbin中命令所需的基本共享库内核模块

libc.so.*, /lib/modules/

/lib64

(64位系统)64位应用程序的基本共享库

64位版本的 libc.so.*

/usr

只读的用户应用程序和数据(二级层次结构)。

包含 /usr/bin, /usr/lib, /usr/share

/opt

可选的应用软件包(通常为第三方大型独立软件)。

某些商业或自打包软件

/home

用户个人主目录

~/.bashrc, 个人文档、设置

/root

超级用户 root 的主目录

/tmp

临时文件(所有用户可写,重启可能清空)。

/var

可变数据文件(日志、缓存、队列等)。

/var/log/, /var/cache/, /var/spool/

/dev

设备文件(硬件和特殊文件的接口)。

sda(磁盘), tty(终端), null

/proc

虚拟文件系统,提供内核和进程信息的接口。

以文件形式查看系统状态和进程信息

/sys

虚拟文件系统,提供内核设备、驱动和硬件信息的接口。

/mnt

临时手动挂载文件系统的挂载点

/media

可移动媒体设备(如U盘、光盘)的自动挂载点

/usr/ 说明

  • /:包含系统启动、修复和单用户模式所必需的最小集合

  • /usr是 Linux 系统的“软件仓库”和“资源中心”包含所有用户应用程序、库、文档等,可以被视为一个只读的、可共享的子系统(在网络环境中,/usr可以被多台主机通过网络只读挂载)。

/usr的主要子目录及其作用

子目录

核心内容与用途

/usr/bin

非基础的用户命令。系统中绝大多数供普通用户使用的命令行工具都位于此处(如 git, python, gcc)。

/usr/sbin

非基础的系统管理命令。供系统管理员使用的、非启动必需的管理工具(如 httpd, sshd)。

/usr/lib

应用程序和服务的共享库。为 /usr/bin/usr/sbin中的程序提供运行所需的库文件。

/usr/lib64

(64位系统)64位应用程序的共享库。

/usr/include

C/C++ 等编程语言的标准头文件,用于软件开发。

/usr/share

架构无关的只读数据。包含应用程序的共享数据,如文档、图标、字体、时区信息、字典等。子目录如 man(帮助手册)、doc(文档)等。

/usr/local

本地系统管理员自行安装的软件。用于安装那些不属于发行版标准包管理器的软件(如手动编译安装的程序)。其本身也拥有 bin, lib, share等子目录结构,是 /usr的一个镜像。

/usr/src

源代码。例如内核源代码包通常会安装在这里。

/usr/games

(历史上)游戏程序,在现代发行版中已不常见。

实际使用

在现代许多 Linux 发行版(如 Fedora、Debian、Ubuntu 等)中,推行了 “usrmerge” 策略。为了实现简化,根目录下的几个关键目录现在实际是指向 /usr下对应目录的符号链接

  • /bin/usr/bin

  • /sbin/usr/sbin

  • /lib/usr/lib(在 64 位系统上,/lib64也可能指向 /usr/lib64

usrmerge 核心定位与设计原则

  • 二级层次结构/usr本身是一个独立的、包含完整子目录树的庞大结构,可被视为一个可共享、只读的系统资源库。在网络环境中,它可以被设置为只读网络挂载,供多台机器共享。

  • 与根目录 (/) 的分离:根据 FHS,根目录 /只需包含启动、修复和进入单用户模式所必需的最小文件集。而所有非关键的应用程序和资源都应安装在 /usr下。这提高了系统的模块化和可维护性。

评论交流

文章目录