Debian 系统目录结构详解(新手必读)

Linux(包括 Debian)的所有文件和目录都从一个单一的根目录 / 开始,形成一棵倒挂的树状结构。这套布局遵循 Filesystem Hierarchy Standard (FHS) 标准,Debian 对此遵守得非常严格。

记住一句话:“可共享的放 /usr,不可共享/会变的放 /var,用户相关的放 /home,配置放 /etc,临时放 /tmp 或 /run”

核心目录一览表(按重要程度排序)

目录主要用途是否可共享(多机 NFS)是否会频繁变化root 写权限新手最常操作的子目录示例误删后果严重度
/整个文件系统的根★★★★★
/etc系统级配置文件中心(几乎所有服务配置都在这里)通常否/etc/apt/sources.list, /etc/ssh/sshd_config, /etc/fstab, /etc/passwd★★★★★
/var运行时变化数据(日志、缓存、数据库文件等)通常否/var/log, /var/lib/dpkg, /var/cache/apt, /var/spool★★★★☆
/home普通用户个人主目录集合可共享中~高部分/home/yourname/.ssh, /home/yourname/.config★★☆☆☆
/usr用户级程序、库、文档、共享数据的主集合/usr/bin, /usr/lib, /usr/share, /usr/local★★★★☆
/bin系统启动和单用户模式必须的最基本命令ls, cat, cp, mv, bash★★★★★
/sbin系统管理命令(通常只有 root 能用)fdisk, reboot, ifconfig, apt★★★★★
/lib / /lib64系统启动所需的核心动态库和内核模块libc.so.6, ld-linux-x86-64.so.2, modules/★★★★★
/boot引导加载器和内核文件通常否(可共享但慎重)低~中vmlinuz, initrd.img, grub/grub.cfg★★★★★
/dev设备文件(由 udev 动态生成)/dev/sda, /dev/null, /dev/zero★★★★☆
/run运行时临时数据(进程 PID、socket 等)极高/run/user/1000, /run/sshd.pid★★★☆☆
/tmp临时文件(重启通常清空)极高★☆☆☆☆
/rootroot 用户的主目录/root/.bash_history, /root/.ssh★★★☆☆
/mnt临时挂载点(手动 mount 用)★☆☆☆☆
/media自动挂载的可移动介质(U盘、光盘等)/media/yourname/USB_NAME★☆☆☆☆
/proc虚拟文件系统(进程、内核参数信息)极高/proc/cpuinfo, /proc/meminfo, /proc/sys只读查看
/sys虚拟文件系统(硬件、设备、驱动信息)极高/sys/class/net, /sys/block只读查看

新手最容易混淆的几组目录对比

容易混淆的组区别说明记住口诀
/bin vs /usr/bin/bin 是启动和 rescue 模式必须的;/usr/bin 是普通用户日常命令启动救命 → bin;日常工具 → usr/bin
/sbin vs /usr/sbin/sbin 是系统管理核心;/usr/sbin 是额外管理工具系统核心管 → sbin;额外管 → usr/sbin
/lib vs /usr/lib/lib 是启动必须的核心库;/usr/lib 是普通程序库开机救命库 → lib;普通程序库 → usr/lib
/etc vs /usr/share/etc 是可修改的配置;/usr/share 是只读的默认数据/文档配置改这里 → etc;默认数据 → usr/share
/var/log vs /var/cachelog 是日志(要看、要备份);cache 是可删除的缓存(apt 缓存等)查问题看 log;占空间删 cache
/tmp vs /var/tmp/tmp 重启清空;/var/tmp 重启保留(但仍可清)临时 → tmp;稍久临时 → var/tmp

Debian 特有或常见的子目录补充(非标准但几乎每台机器都有)

  • /etc/apt/ → apt 软件源、偏好设置、认证密钥
  • /var/lib/dpkg/ → 已安装软件包数据库(status 文件最重要)
  • /var/lib/apt/lists/ → 下载的软件源索引文件
  • /var/cache/apt/archives/→ 已下载的 .deb 包(可安全删除)
  • /usr/local/ → 自己源码编译、手动安装的程序放这里(不会被 apt 覆盖)
  • /etc/systemd/ → systemd 单元文件(服务配置文件)
  • /etc/default/ → 很多服务的默认变量文件(常被修改)

快速记忆口诀(新手背下来)

  • 配置改 /etc,日志查 /var/log
  • 程序在 /usr/bin/bin,管理工具在 /sbin/usr/sbin
  • 用户数据放 /home,root 自己用 /root
  • 变化大放 /var,临时文件扔 /tmp/run
  • 内核和引导在 /boot,别随便动
  • 自己装的东西放 /usr/local,系统管的别乱碰

实用命令快速查看目录结构

Bash
# 查看根目录主要内容
ls -F /

# 树状显示(需先安装 tree)
sudo apt install tree
tree -L 2 /     # 显示两层深度

# 只看常用目录
ls -ld /bin /sbin /usr/bin /usr/sbin /etc /var /home /root /boot /lib /lib64

掌握以上内容,你就能快速定位“配置文件在哪”“日志在哪”“我装的东西放哪了”,极大减少在 Debian 服务器或桌面上的盲目摸索时间。

THE END