目录结构

  • Windows:盘符(C、D盘)为基础,路径层级用 \ 表示。
  • Linux:一切从根目录 / 开始,无盘符概念,路径层级用 / 表示。遵循 FHS(文件系统层次结构标准)

以下逐一介绍根目录下各主要目录的作用:


/ — 根目录

整个文件系统的起点,所有其他目录和文件都从这里派生。可以理解为整棵树的树干。


/bin — 基本用户命令

存放系统启动、运行和维护所必需的基本命令(二进制可执行文件)。这些命令在单用户模式和系统修复时也可用。例如 lscpmvrm 等。

注意:部分现代发行版(如 RHEL 8+、Ubuntu)中,/bin 已改为指向 /usr/bin 的符号链接。


/sbin — 系统管理命令

/bin 类似,但存放的是系统管理命令,通常只有超级用户(root)可以执行。例如 shutdownrebootfsckifconfig 等。


/boot — 引导文件

存放系统引导时所需的静态文件,包括 Linux 内核(如 vmlinuz)、初始内存盘initramfsinitrd)以及 GRUB 引导程序的相关文件。


/dev — 设备文件

存放设备文件(即一切皆文件的体现)。系统中的硬件设备(硬盘、终端、USB 设备等)均以文件形式出现在此目录下。例如 /dev/sda 表示第一块 SATA 硬盘,/dev/null 是丢弃所有写入数据的空设备。


/etc — 系统配置文件

存放系统全局配置文件,是 Linux 系统中最关键的目录之一。几乎所有程序和服务的配置都在这里。典型文件包括:

  • /etc/passwd:用户账户信息
  • /etc/fstab:文件系统挂载定义
  • /etc/hosts:本地主机名解析
  • /etc/skel/:新建用户时复制到家目录的模板文件

/home — 普通用户家目录

存放所有普通用户的个人目录。每个用户在 /home 下拥有一个以用户名命名的子目录(如 /home/alice),用于存储个人文件、配置等。/home 通常建议划分为独立分区,方便备份和数据管理。


/root — 超级用户家目录

root 用户(超级管理员)的家目录。与普通用户的 /home 分开存放,位置在根目录下而非 /home 中,以确保系统在 /home 无法挂载时 root 仍可登录。


/lib — 基本共享库

存放系统启动和根用户执行命令所必需的共享库内核模块。这些库文件是 /bin/sbin 中可执行程序运行所依赖的。

注意:现代发行版中,/lib 常改为指向 /usr/lib 的符号链接。


/usr — 用户程序与只读数据

存放用户级别的应用程序、库、文档和源代码,是系统中最大的目录之一。其内容在正常操作中一般不会被改变,适合多台主机共享挂载(只读)。主要子目录:

  • /usr/bin:大多数用户命令的可执行文件
  • /usr/sbin:系统管理员命令(非启动必需)
  • /usr/lib:用户程序的共享库
  • /usr/local:用户自行编译安装的软件
  • /usr/share:共享数据(文档、图标、帮助文件等)
  • /usr/include:C/C++ 编译所需的头文件

/var — 可变数据

存放运行时会发生变化的文件。包括:

  • /var/log:系统日志文件
  • /var/spool:打印队列、邮件队列等
  • /var/tmp:临时文件(重启后保留,与 /tmp 不同)
  • /var/run:运行时数据(通常指向 /run

/tmp — 临时文件

存放临时文件。系统重启时会清空该目录。任何用户均可读写,适合存放短期使用的临时数据。


/proc — 进程与内核信息(虚拟文件系统)

一个虚拟文件系统,存在于内存中而非硬盘上。提供系统和内核运行时的实时信息。例如:

  • /proc/cpuinfo:CPU 信息
  • /proc/meminfo:内存使用情况
  • /proc/[PID]/:特定进程的信息

/sys — 内核与设备信息(虚拟文件系统)

另一个虚拟文件系统,提供内核、设备驱动和硬件的详细信息及管理接口。用于内核空间与用户空间的交互。例如 /sys/class/(设备类别)、/sys/block/(块设备信息)。


/mnt — 临时挂载点

用于临时挂载其他文件系统(如光盘、U盘、网络共享等)。管理员可在此目录下创建子目录作为挂载点。


/media — 可移动媒体挂载点

用于自动挂载可移动设备(如 U 盘、光盘、数码相机等)。现代桌面环境通常自动将插入的设备挂载到 /media/用户名/设备名/ 下。


/opt — 第三方附加软件

用于存放第三方厂商提供的附加软件包。这些软件通常不是系统自带的,每个软件在 /opt 下拥有独立的子目录(如 /opt/oracle//opt/google/)。删除时只需移除对应目录即可。


/srv — 服务数据

存放系统服务的特定数据。例如 Web 服务器的网页文件可放在 /srv/www/,FTP 服务器的文件可放在 /srv/ftp/。目录结构由管理员自行决定。


/run — 运行时数据

存放系统启动以来的运行时数据(如进程 PID 文件、套接字等)。它是一个 tmpfs 临时文件系统,存在于内存中,重启即清空。现代系统中 /var/run 通常是指向 /run 的符号链接。


补充说明

  • 大小写敏感:Linux 中文件和目录名称严格区分大小写。
  • 独立分区建议/home/var/tmp/boot 等目录常建议划分为独立分区,便于备份、扩容和系统维护。