首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >一文秒懂:像规划城市一样读懂Linux目录结构

一文秒懂:像规划城市一样读懂Linux目录结构

原创
作者头像
刘叨叨趣味运维
发布2026-01-14 12:52:20
发布2026-01-14 12:52:20
1040
举报

大家好,我是刘叨叨,一个致力于让碎片化技术系统性的运维人。

刚学Linux时,面对黑乎乎的终端和层层叠叠的目录,你是不是也发出过“灵魂三问”:

  • 我的程序装哪儿了?( whereis 一下,结果在 /usr/bin
  • 我的配置文件在哪儿?( find 一圈,原来在 /etc 下面)
  • 我下载的包又去哪儿了?( ls 一看,可能在 /tmp 里被系统“悄悄”清除了)

文件到处“乱跑”,就像一个没有路牌和功能区划分的混乱城市。今天,我们就来当一回“城市规划师”,彻底看懂Linux这座“城市”的布局蓝图——FHS标准

一、为什么需要FHS?为了秩序与协作

想象一下,如果没有统一的规划,每个软件都把库文件扔在自家门口,日志倒在公共道路上,那系统会乱成什么样?

FHS,即 Filesystem Hierarchy Standard(文件系统层次结构标准),就是这个城市规划总纲。它定义了:

  • 去哪儿找:任何系统管理员都知道,配置文件通常在 /etc,日志一般在 /var/log
  • 该放哪儿:开发者在编译安装软件时,就知道该把可执行文件放到 /usr/local/bin
  • 保持整洁:区分静态(如程序本身)和可变数据(如日志、数据库),让备份和维护思路清晰。

遵守它,整个Linux世界就有了共同语言,协作和维护效率倍增。

二、核心分区图:一张图看懂大格局

在深入街区(目录)前,我们先俯瞰全城。为了最清晰的展示,我们用最朴素的“字符树”来描绘这座城市的骨架,保证在任何地方都能正确显示:

代码语言:bash
复制
/
├── 【核心系统区】 (早期启动必需)
│   ├── /bin      (基础命令,如 ls, cp)
│   ├── /sbin     (系统管理命令,如 fdisk)
│   ├── /boot     (内核与引导加载器)
│   ├── /etc      ⭐ (全局配置文件中心)
│   ├── /lib      (系统基础库文件)
│   └── /dev      (设备文件,如磁盘、终端)
│
├── 【用户家园与运行时】
│   ├── /home     ⭐ (用户私人目录,如 /home/liudaodao)
│   ├── /root     (超级管理员root的家目录)
│   ├── /proc     (虚拟文件系统,内核与进程信息)
│   └── /sys      (虚拟文件系统,硬件设备信息)
│
├── 【可变数据区】 (经常变化)
│   ├── /var      ⭐ (动态数据:日志、缓存、数据库)
│   │   ├── /var/log    (系统及服务日志)
│   │   └── /var/lib    (应用程序状态数据)
│   │
│   └── /tmp      ⭐ (临时文件,定期清理!)
│
└── 【扩展与应用区】
    ├── /usr      (只读的用户程序与资源,主体软件库)
    │   ├── /usr/bin     (绝大多数用户命令)
    │   ├── /usr/sbin    (绝大多数系统命令)
    │   ├── /usr/lib     (应用程序库)
    │   ├── /usr/share   (架构无关的共享数据,如文档)
    │   └── /usr/local   ⭐ (本地编译安装的软件)
    │
    └── /opt      (可选的大型第三方软件,如 Oracle)

带 ⭐ 的是需要你特别关注的“地标”。这张“地图”已经勾勒出了主干道,接下来我们深入几个关键“街区”看看。

三、关键“街区”功能详解

目录路径

核心功能与“居民”

运维必备知识点(重点!)

/

城市中心广场,一切目录的起点。

别塞满!根分区空间用尽可能导致系统无法启动。通常只包含下级目录,不直接放文件。

/bin&/sbin

基础工具仓。ls,cp,bash(bin)和fdisk,ifconfig(sbin)等核心命令。

系统最小模式(如救援环境)下仍可用的命令集。现代系统中,它们常是指向/usr下对应目录的符号链接。

/boot

系统启动舱。内核文件、引导加载器(GRUB)。

谨慎操作!误删此目录文件≈系统无法启动。更新内核时会积累旧文件,可定期清理(如使用dnf autoremove)。

/etc

系统配置中心。所有全局应用程序和服务的配置文件。

备份重地!系统个性化设置全在这里。/etc/fstab(挂载)、/etc/passwd(用户)等都是命脉文件。

/home

用户家园。每个用户的私人文档、桌面、下载等。

通常独立分区,便于重装系统时不丢失个人数据。权限管理关键,确保用户间文件私密。

/tmp

公共临时缓存区。系统和程序创建的临时文件。

会定期自动清理!文件可能随时消失,勿存重要数据。清理周期由systemd-tmpfiles控制,查看设置:sudo systemctl status systemd-tmpfiles-clean.timer。

/var

动态数据区经常变化的数据:日志、缓存、邮件、数据库文件等。

增长监控重点!/var/log(日志)和/var/lib/mysql(数据库)等容易膨胀,建议独立分区并设置监控告警。

/usr

用户软件资源库只读的应用程序、库、文档等。可理解为“系统主要的软件安装目录”。

大部分命令(/usr/bin)和库(/usr/lib)实际在此。/usr/local是给系统管理员本地编译安装软件的,避免被系统包管理器升级覆盖。

/proc与/sys

内核与硬件“信息面板”。虚拟文件系统,提供内核、进程、硬件参数的实时接口。

不是普通文件!关机即消失。用于查看进程信息(/proc/pid)、调整内核参数(/proc/sys)。

/opt

第三方大型软件“园区”。某些独立的第三方商业或大型软件可能选择安装于此。

通常一个软件独占一个子目录(如/opt/oracle),包含其全部文件,便于整体管理或卸载。

四、核心思维:静态 vs 可变

理解FHS,最关键的思维就是区分 “静态”“可变”

  • 静态 (/usr, /bin, /lib 等):像城市的基础建筑和预装设施。程序本身应安放在此,通常只读,可以安全地在多台机器间共享(如通过NFS)。
  • 可变 (/etc, /var, /home):像城市运行中产生的记录、配置和居民物品。系统运行产生的数据放在这里,频繁读写,需要单独备份和监控。

记住这张“城市规划图”,无论进入哪台Linux服务器,你都能迅速定位、从容操作。这,就是系统思维的开始。

搜索关注【刘叨叨趣味运维】公众号,用有趣的方式,啃下最硬核的技术。咱们下期见!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档