目录结构(FHS 标准)

Linux FHS 标准核心目录详解

FHS(Filesystem Hierarchy Standard,文件系统层次结构标准)是 Linux 发行版统一遵循的目录架构规范,核心目的是标准化系统文件的存放位置,让程序和用户可预测地定位文件。以下是你指定的 7 个核心目录的完整说明,包含核心定位、存放内容、关键特性、生产环境注意事项,同时补充现代 Linux 系统的适配变化。


一、核心系统二进制目录(单用户模式必备)

/bin

  • 核心定位:所有用户可用的、单用户 / 救援模式必须的核心二进制命令目录
  • 存放内容 :系统启动、修复、基础操作必备的通用命令,例如lscpmvrmcatbashshmkdir
  • 关键特性
    1. 无需挂载/usr分区即可访问,是系统最小化运行的核心依赖
    2. 所有用户(普通用户 + root)均默认拥有执行权限
    3. 现代 Linux(CentOS 7+/Ubuntu 16+/Debian 9+)已普遍将/bin软链接到/usr/bin,遵循 FHS 3.0 的 /usr 合并规范,兼容传统使用习惯

/sbin

  • 核心定位:仅限 root 用户使用的、系统管理专属核心二进制工具目录
  • 存放内容 :系统启动、修复、磁盘管理、网络配置、权限管控等管理员专属命令,例如fdiskmkfsiprebootshutdowniptablesifconfig
  • 关键特性
    1. 单用户模式下必须可用,用于系统故障修复与初始化
    2. 普通用户默认无执行权限,仅 root / 具备 sudo 权限的用户可执行
    3. 现代系统普遍软链接到/usr/sbin,与 /usr 目录完成合并

二、系统配置核心目录

/etc

  • 核心定位:系统全局静态配置文件目录,是 Linux 系统的 "配置中枢"
  • 核心存放内容
    • 系统核心配置:/etc/passwd(用户信息)、/etc/shadow(密码哈希)、/etc/fstab(磁盘挂载表)、/etc/hosts(主机名映射)、/etc/profile(全局环境变量)、/etc/systemd/(系统服务管理)
    • 服务 / 软件配置:/etc/ssh/sshd_config/etc/nginx/nginx.conf/etc/sysconfig/(RHEL/CentOS 系)、/etc/default/(Debian/Ubuntu 系)
  • 关键特性
    1. FHS 强制要求:仅存放静态配置文件,禁止存放二进制可执行文件
    2. 绝大多数为文本文件,可直接编辑修改,配置默认对本机全局生效
    3. 生产环境建议定期备份该目录,是系统故障恢复的核心配置源

三、动态可变数据目录

/var

  • 核心定位:可变数据目录,存放系统运行过程中持续产生、动态变化的文件
  • 核心存放内容
    • 日志文件:/var/log/(系统日志、服务日志,如messagessecure、内核日志、应用日志)
    • 运行时数据:/var/run/(进程 PID 文件,现代系统软链接到/run)、/var/lock/(文件锁)
    • 持久化状态数据:/var/lib/(数据库、Docker 镜像、软件运行状态数据)
    • 缓存与队列:/var/cache/(yum/apt 软件包缓存)、/var/spool/(邮件、定时任务队列)
  • 关键特性
    1. /etc的静态配置完全区分,/var内容随系统运行持续写入、修改、增长
    2. 生产环境必须单独分区,避免日志、业务数据占满根分区导致系统崩溃
    3. 不可存放程序运行必须的静态二进制文件,重启后不会丢失核心持久化数据

四、系统软件资源核心目录

/usr

  • 核心定位:全称 Unix Software Resource,Unix 系统软件资源目录,是 Linux 系统最大的目录之一,存放用户级程序、库、文档等只读资源

  • FHS 标准核心子目录

    表格

    子目录 核心用途
    /usr/bin 普通用户使用的非核心二进制命令(绝大多数包管理器安装的软件命令)
    /usr/sbin 管理员使用的非核心系统管理工具
    /usr/lib /usr/lib64 系统函数库、内核模块,分别对应 32 位 / 64 位架构
    /usr/include C/C++ 程序开发头文件
    /usr/share 架构无关的共享数据(man 手册、文档、图标、本地化语言包)
    /usr/local 管理员手动编译安装的软件,不会被系统包管理器覆盖,子目录结构与 /usr 完全对齐
  • 关键特性

    1. 历史上为用户家目录,现已演变为系统全局软件资源核心,默认具备只读属性(仅/usr/local/usr/tmp可写)
    2. 现代系统已完成 **/usr 合并 **,根目录的/bin/sbin/lib均软链接到/usr下对应目录,单用户模式下必须保证/usr分区可正常挂载
    3. 核心区分:包管理器安装的软件默认写入/usr,手动编译安装的软件必须放入/usr/local,避免版本冲突和包管理器覆盖

五、内核态伪文件系统(内存驻留,无磁盘占用)

/proc

  • 核心定位:进程与内核运行时状态伪文件系统(procfs),完全驻留在内存中,不占用磁盘空间,是用户空间与内核交互的传统接口
  • 核心存放内容
    • 进程专属信息:以数字命名的目录,对应进程 PID,例如/proc/1/是 systemd/init 进程的完整信息,包含cmdlinestatusfdmaps
    • 内核全局状态:/proc/cpuinfo(CPU 详情)、/proc/meminfo(内存详情)、/proc/version(内核版本)、/proc/net/(网络栈信息)、/proc/sys/(内核可调参数,对应 sysctl)
  • 关键特性
    1. 所有文件均为内核实时动态生成,重启后全部重置,无持久化存储
    2. 核心面向进程管理、内核运行时状态查询,是 top、ps、free 等命令的核心数据源
    3. 可通过修改/proc/sys/下的文件临时调整内核参数,永久生效需修改/etc/sysctl.conf

/sys

  • 核心定位 :系统设备与驱动伪文件系统(sysfs),Linux 2.6 内核引入,完全驻留内存,用于替代/proc中混乱的设备相关接口,是现代 Linux 设备管理的核心
  • 核心存放内容 :按层级化结构组织硬件设备、驱动、总线、内核模块的完整信息,核心子目录:
    • /sys/devices:所有硬件设备的完整层级树,是 sysfs 的核心
    • /sys/bus:按总线类型分类的设备(PCI、USB、SATA 等)
    • /sys/class:按设备功能分类(网卡、磁盘、输入设备、显卡等)
    • /sys/module:已加载的内核模块信息
    • /sys/dev:设备号(主设备号 / 次设备号)映射
  • 关键特性
    1. 内存驻留、实时生成,重启后全部重置,无磁盘占用
    2. 核心面向硬件设备、驱动、内核子系统的管理与信息查询,结构规范、层级清晰,是 udev、systemd 等设备管理工具的核心依赖
    3. /proc的核心区别:/sys是结构化的硬件 / 驱动管理接口,/proc是传统的进程 / 内核状态接口,两者功能互补,现代 Linux 优先使用/sys管理硬件设备
相关推荐
pt10431 小时前
网络自动化Python课程:Cisco PyATS网络自动化测试框架
运维·自动化
Johny_Zhao1 小时前
网络安全等级保护测评实施方案
linux·网络·人工智能·网络安全·信息安全·云计算·等保测评·系统运维·itsm
小袁拒绝摆烂2 小时前
Jenkins部署经验
运维·jenkins
落羽的落羽2 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生2 小时前
Linux-进程控制
linux·运维·服务器·c++
上火的金鱼妹2 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
Vcaker3 小时前
Linux学习25-harbor私有仓库部署
linux·运维·学习
刃神太酷啦3 小时前
Redis 进阶核心:持久化 (RDB/AOF)、事务与主从复制全解析----《Hello Redis!》(5)
linux·c语言·数据库·c++·redis·缓存·bootstrap
编程的一拳超人3 小时前
DeepSeek Harness Linux/macOS/Windows 本地下载、启动与模型配置指南
linux·windows·macos·deepseek
醉颜凉3 小时前
网络安全必学:粘性MAC地址(Sticky MAC)原理与应用全解析
运维·服务器·网络·安全·web安全