news 2026/9/29 1:11:25

【Linux】Linux 系统的目录结构详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux】Linux 系统的目录结构详解

【Linux】Linux 系统的目录结构详解

Linux 文件系统采用树状层级结构,一切皆文件(目录、设备、管道、socket 等也以文件形式存在),所有内容都从根目录/开始展开。这种结构遵循Filesystem Hierarchy Standard(FHS)标准,目前最新维护版本为 3.0(2015 年发布,2025 年由 FreeDesktop 重新发布并维护)。

FHS 的核心目标是:统一不同发行版目录布局,让管理员、开发者、脚本更容易理解和移植。

1. 根目录/(最重要)

  • 整个文件系统的起点
  • 包含系统启动和单用户模式修复所需的最小文件集
  • 通常挂载在最主要的磁盘分区

2. 主要目录一览表(FHS 标准分类)

目录是否可共享是否必须在根分区主要用途是否经常变化典型内容举例
/—是整个文件系统根——
/bin是是所有用户必备的基本命令(单用户模式可用)否ls, cp, mv, cat, mkdir, bash, grep 等
/boot否通常是启动相关静态文件(内核、initramfs、grub 配置)很少vmlinuz, initrd.img, grub.cfg
/dev否是设备文件(字符/块设备、虚拟设备)动态/dev/sda, /dev/null, /dev/zero, /dev/tty
/etc否是主机特定系统配置文件频繁passwd, fstab, hostname, nginx.conf 等
/home是否用户个人主目录(可选)频繁/home/user/.bashrc, Documents 等
/lib是是系统启动和 /bin、/sbin 命令所需的共享库和内核模块否libc.so, ld-linux.so, 内核模块
/lib64是否64 位系统专用共享库(可选)否—
/media是否临时挂载可移动介质(U盘、光盘、手机)动态/media/usb, /media/cdrom
/mnt是否临时挂载文件系统(传统用法)动态管理员手动 mount 的地方
/opt是否第三方大型软件包安装位置(非发行版自带)很少/opt/google/chrome, /opt/android-sdk
/proc否是进程信息、内核参数、虚拟文件系统(内存文件系统)动态/proc/cpuinfo, /proc/meminfo, /proc/[pid]
/root否是root 用户的主目录频繁root 的 .bashrc、.ssh 等
/run否是运行时临时数据(重启清空)频繁/run/sshd.pid, /run/user/1000
/sbin是是系统管理命令(通常只有 root 可用)否fdisk, fsck, reboot, ifconfig, mkfs 等
/srv是否系统提供的服务数据(如 www、ftp、svn 站点数据)频繁/srv/www, /srv/ftp
/sys否是内核设备树、硬件信息(sysfs,内存文件系统)动态/sys/class/net, /sys/devices
/tmp是否临时文件(很多系统重启清空或使用 tmpfs)频繁编译临时文件、下载缓存等
/usr是否用户程序、只读数据、共享库(可共享、可挂载为只读)很少/usr/bin, /usr/lib, /usr/share 等
/var否否变量数据(经常变化的,如日志、缓存、邮件、数据库)非常频繁/var/log, /var/cache, /var/spool, /var/lib

3. 重点目录深度详解(最常接触的)

  • /binvs/usr/binvs/usr/local/bin

    • /bin:系统启动和单用户模式必须的命令
    • /usr/bin:普通用户命令(大部分软件安装在这里)
    • /usr/local/bin:管理员自己编译/安装的程序(优先级最高)
  • /sbinvs/usr/sbinvs/usr/local/sbin
    同理,系统管理命令的分层

  • /etc
    最常修改的目录,几乎所有服务配置文件都在这里
    常见子目录:/etc/systemd,/etc/nginx,/etc/ssh,/etc/cron.d,/etc/profile.d

  • /var
    所有“会增长”的数据

    • /var/log:系统日志(最重要!)
    • /var/cache:包管理缓存(如 apt、yum、dnf)
    • /var/spool:打印队列、邮件队列
    • /var/lib:状态数据(如 systemd、docker、mysql)
  • /usr(现代 Linux 非常重要)
    按功能细分:

    • /usr/bin:普通命令
    • /usr/sbin:系统命令
    • /usr/lib:库文件
    • /usr/share:架构无关数据(文档、图标、字体、时区、man 页)
    • /usr/local:本地安装软件(自己编译的)
  • /proc和/sys(虚拟文件系统)
    不占磁盘空间,实时反映内核和硬件状态
    常用查看:cat /proc/cpuinfo,cat /proc/meminfo,ls /sys/class/net

  • /run(现代 Linux 重要)
    取代了部分老的/var/run内容
    重启自动清空,常用 tmpfs 挂载(内存)

4. 快速记忆口诀(生产环境常用)

  • bin→ 基本命令(binaries)
  • boot→ 开机(bootloader + kernel)
  • dev→ 设备(devices)
  • etc→ 配置(etc = et cetera,配置都在这)
  • home→ 用户家目录
  • lib→ 库(libraries)
  • proc→ 进程信息(process)
  • root→ root 用户家
  • run→ 运行时数据
  • sbin→ 系统命令(system binaries)
  • tmp→ 临时(temporary)
  • usr→ 用户程序(unix system resources)
  • var→ 变量数据(variable)

5. 常用查看命令

# 查看整个目录树结构(推荐安装 tree 命令)tree -L2/# 查看目录占用大小du-sh /*|sort-hr# 查看挂载点df-hmount|column-t# 查看当前目录结构tree -L3

现代 Linux 发行版(Ubuntu、CentOS、Debian、Arch 等)基本都严格遵循 FHS,但有些发行版会增加少量自定义目录(如/snap、/flatpak)。

如果你想深入某个目录的实际使用场景(比如/etc下最常用的配置文件、/var/log怎么排查问题、/proc的高级用法等),可以告诉我,我可以继续展开讲解。【Linux】Linux 系统的目录结构详解

Linux 文件系统采用树状层级结构,一切皆文件(目录、设备、管道、socket 等也以文件形式存在),所有内容都从根目录/开始展开。这种结构遵循Filesystem Hierarchy Standard(FHS)标准,目前最新维护版本为 3.0(2015 年发布,2025 年由 FreeDesktop 重新发布并维护)。

FHS 的核心目标是:统一不同发行版目录布局,让管理员、开发者、脚本更容易理解和移植。

1. 根目录/(最重要)

  • 整个文件系统的起点
  • 包含系统启动和单用户模式修复所需的最小文件集
  • 通常挂载在最主要的磁盘分区

2. 主要目录一览表(FHS 标准分类)

目录是否可共享是否必须在根分区主要用途是否经常变化典型内容举例
/—是整个文件系统根——
/bin是是所有用户必备的基本命令(单用户模式可用)否ls, cp, mv, cat, mkdir, bash, grep 等
/boot否通常是启动相关静态文件(内核、initramfs、grub 配置)很少vmlinuz, initrd.img, grub.cfg
/dev否是设备文件(字符/块设备、虚拟设备)动态/dev/sda, /dev/null, /dev/zero, /dev/tty
/etc否是主机特定系统配置文件频繁passwd, fstab, hostname, nginx.conf 等
/home是否用户个人主目录(可选)频繁/home/user/.bashrc, Documents 等
/lib是是系统启动和 /bin、/sbin 命令所需的共享库和内核模块否libc.so, ld-linux.so, 内核模块
/lib64是否64 位系统专用共享库(可选)否—
/media是否临时挂载可移动介质(U盘、光盘、手机)动态/media/usb, /media/cdrom
/mnt是否临时挂载文件系统(传统用法)动态管理员手动 mount 的地方
/opt是否第三方大型软件包安装位置(非发行版自带)很少/opt/google/chrome, /opt/android-sdk
/proc否是进程信息、内核参数、虚拟文件系统(内存文件系统)动态/proc/cpuinfo, /proc/meminfo, /proc/[pid]
/root否是root 用户的主目录频繁root 的 .bashrc、.ssh 等
/run否是运行时临时数据(重启清空)频繁/run/sshd.pid, /run/user/1000
/sbin是是系统管理命令(通常只有 root 可用)否fdisk, fsck, reboot, ifconfig, mkfs 等
/srv是否系统提供的服务数据(如 www、ftp、svn 站点数据)频繁/srv/www, /srv/ftp
/sys否是内核设备树、硬件信息(sysfs,内存文件系统)动态/sys/class/net, /sys/devices
/tmp是否临时文件(很多系统重启清空或使用 tmpfs)频繁编译临时文件、下载缓存等
/usr是否用户程序、只读数据、共享库(可共享、可挂载为只读)很少/usr/bin, /usr/lib, /usr/share 等
/var否否变量数据(经常变化的,如日志、缓存、邮件、数据库)非常频繁/var/log, /var/cache, /var/spool, /var/lib

3. 重点目录深度详解(最常接触的)

  • /binvs/usr/binvs/usr/local/bin

    • /bin:系统启动和单用户模式必须的命令
    • /usr/bin:普通用户命令(大部分软件安装在这里)
    • /usr/local/bin:管理员自己编译/安装的程序(优先级最高)
  • /sbinvs/usr/sbinvs/usr/local/sbin
    同理,系统管理命令的分层

  • /etc
    最常修改的目录,几乎所有服务配置文件都在这里
    常见子目录:/etc/systemd,/etc/nginx,/etc/ssh,/etc/cron.d,/etc/profile.d

  • /var
    所有“会增长”的数据

    • /var/log:系统日志(最重要!)
    • /var/cache:包管理缓存(如 apt、yum、dnf)
    • /var/spool:打印队列、邮件队列
    • /var/lib:状态数据(如 systemd、docker、mysql)
  • /usr(现代 Linux 非常重要)
    按功能细分:

    • /usr/bin:普通命令
    • /usr/sbin:系统命令
    • /usr/lib:库文件
    • /usr/share:架构无关数据(文档、图标、字体、时区、man 页)
    • /usr/local:本地安装软件(自己编译的)
  • /proc和/sys(虚拟文件系统)
    不占磁盘空间,实时反映内核和硬件状态
    常用查看:cat /proc/cpuinfo,cat /proc/meminfo,ls /sys/class/net

  • /run(现代 Linux 重要)
    取代了部分老的/var/run内容
    重启自动清空,常用 tmpfs 挂载(内存)

4. 快速记忆口诀(生产环境常用)

  • bin→ 基本命令(binaries)
  • boot→ 开机(bootloader + kernel)
  • dev→ 设备(devices)
  • etc→ 配置(etc = et cetera,配置都在这)
  • home→ 用户家目录
  • lib→ 库(libraries)
  • proc→ 进程信息(process)
  • root→ root 用户家
  • run→ 运行时数据
  • sbin→ 系统命令(system binaries)
  • tmp→ 临时(temporary)
  • usr→ 用户程序(unix system resources)
  • var→ 变量数据(variable)

5. 常用查看命令

# 查看整个目录树结构(推荐安装 tree 命令)tree -L2/# 查看目录占用大小du-sh /*|sort-hr# 查看挂载点df-hmount|column-t# 查看当前目录结构tree -L3

现代 Linux 发行版(Ubuntu、CentOS、Debian、Arch 等)基本都严格遵循 FHS,但有些发行版会增加少量自定义目录(如/snap、/flatpak)。

如果你想深入某个目录的实际使用场景(比如/etc下最常用的配置文件、/var/log怎么排查问题、/proc的高级用法等),可以告诉我,我可以继续展开讲解。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 22:08:32

实战分享:用Fish Speech 1.5制作多语言播客节目

实战分享:用Fish Speech 1.5制作多语言播客节目 你是否想过,一个人、一台电脑,就能制作一档覆盖全球听众的多语言播客?过去,这需要聘请不同语种的配音演员,投入高昂的制作成本。现在,借助Fish …

作者头像 李华
网站建设 2026/9/27 20:50:48

Qwen3-TTS语音合成:10种语言自由切换

Qwen3-TTS语音合成:10种语言自由切换 1. 引言 你有没有遇到过这样的场景:刚写完一段中文产品介绍,马上要录制成西班牙语发给海外团队;或者为日本客户准备的培训材料,需要同步生成日语配音;又或者想用德语…

作者头像 李华
网站建设 2026/9/27 9:23:37

服装设计新姿势:Nano-Banana Studio复古画报风格,打造独特视觉语言

服装设计新姿势:Nano-Banana Studio复古画报风格,打造独特视觉语言 你是否厌倦了千篇一律的服装设计展示图?想为你的设计作品注入一丝复古灵魂,让它在一众平铺直叙的图片中脱颖而出? 今天,我要为你介绍一…

作者头像 李华
网站建设 2026/9/27 20:48:47

免费体验8K画质:BEYOND REALITY Z-Image在线创作指南

免费体验8K画质:BEYOND REALITY Z-Image在线创作指南 想体验专业级的写实人像生成,却苦于复杂的本地部署和昂贵的硬件门槛?今天,我将带你体验一个能在线创作8K级高清写实人像的“神器”——BEYOND REALITY Z-Image。它基于强大的…

作者头像 李华
网站建设 2026/9/27 15:23:12

新手避坑指南:AudioLDM-S音效生成常见问题解答

新手避坑指南:AudioLDM-S音效生成常见问题解答 1. 为什么刚上手就卡在第一步?——环境与启动常见问题 1.1 启动后打不开网页?别急,先看这三点 很多新手第一次运行镜像,看到终端输出一串地址(比如 http:/…

作者头像 李华
网站建设 2026/9/27 4:02:37

零代码!用Nano-Banana轻松生成工业设计分解图

零代码!用Nano-Banana轻松生成工业设计分解图 你是否曾为设计提案绞尽脑汁,却总觉得二维渲染图不够有说服力?或者,在向客户展示产品内部结构时,只能用枯燥的零件清单和模糊的示意图? 今天,我要…

作者头像 李华