当前位置:首页>Linux>Linux 基础:目录详解

Linux 基础:目录详解

  • 2026-09-08 02:04:27
Linux 基础:目录详解

Linux 系统采用一种层次化的树状目录结构,所有文件和目录都从根目录 / 开始。理解 Linux 的标准目录结构对于系统管理、故障排查以及日常使用至关重要。

本文将带你深入认识 Linux 中常见的系统目录及其用途。

一、根目录 /

根目录是整个文件系统的起点,所有其他目录和文件都挂载在它的下方。它通常只包含子目录,不建议存放普通用户文件。

/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin
├── srv
├── sys
├── tmp
├── usr
└── var

二、主要系统目录详解

/bin —— 基本用户命令

存放系统启动和运行所需的基本可执行命令(二进制文件),如 ls、cp、mv、cat 等。这些命令对所有用户可用。

“

注意:在现代 Linux 发行版中,/bin 通常是 /usr/bin 的符号链接。

/sbin —— 系统管理命令

包含系统管理员(root)使用的系统管理命令,如 fdisk、ifconfig、reboot、iptables 等。

“

同样,/sbin 也常是 /usr/sbin 的符号链接。

/etc —— 系统配置文件

几乎所有系统和应用程序的配置文件都存放在这里,例如:

  • /etc/passwd:用户账户信息
  • /etc/fstab:文件系统挂载表
  • /etc/hosts:主机名解析
  • /etc/network/ 或 /etc/sysconfig/network-scripts/:网络配置

该目录不包含二进制文件,仅用于配置。

/home —— 用户主目录

每个普通用户在此目录下拥有一个以用户名命名的子目录(如 /home/alice),用于存放个人文件、配置和数据。

“

root 用户的主目录是 /root,不在 /home 下。

/root —— root 用户的家目录

超级用户(root)的主目录。出于安全考虑,它独立于 /home。

/tmp —— 临时文件目录

供所有用户和程序存放临时文件。系统重启后,此目录下的内容通常会被清空。

“

某些系统使用 tmpfs 将 /tmp 挂载到内存中以提升性能。

/var —— 可变数据文件

存放经常变化的文件,如日志、缓存、邮件、数据库等:

  • /var/log:系统日志(如 syslog、auth.log)
  • /var/cache:应用程序缓存
  • /var/spool:排队等待处理的数据(如打印任务、邮件)
  • /var/lib:程序运行时需要保存的状态数据(如数据库文件)

/usr —— 用户程序和数据(“Unix System Resources”)

虽然名字叫“user”,但 /usr 实际上是系统级只读资源的集合,包含大量非核心但重要的程序和库:

  • /usr/bin:大多数用户命令(如 gcc、python)
  • /usr/sbin:非关键系统管理命令
  • /usr/lib:程序依赖的共享库
  • /usr/share:架构无关的数据(如文档、图标、字体)
  • /usr/local:本地编译安装的软件(避免与系统包冲突)
“

在早期 Unix 中,/usr 是单独挂载的磁盘分区,用于存放“非必需”的程序。

/opt —— 可选应用程序

第三方商业或大型软件包(如 Oracle、Google Chrome)常安装在此目录。每个软件通常拥有自己的子目录,如 /opt/google/chrome/。

/boot —— 启动相关文件

包含系统启动所需的文件:

  • 内核镜像(如 vmlinuz-5.15.0-xx-generic)
  • 初始内存盘(initrd.img)
  • 引导加载器配置(如 GRUB 的 grub.cfg)

/dev —— 设备文件

Linux 将硬件设备抽象为文件,存放在 /dev 中:

  • /dev/sda:第一块 SATA 硡盘
  • /dev/ttyS0:串口设备
  • /dev/null:黑洞设备(丢弃所有写入)
  • /dev/random:随机数生成器

这些文件由内核在启动时或通过 udev 动态创建。

/proc —— 虚拟进程文件系统

这是一个虚拟文件系统(存在于内存中,不占用磁盘空间),提供内核和进程的实时信息:

  • /proc/cpuinfo:CPU 信息
  • /proc/meminfo:内存使用情况
  • /proc/[pid]/:每个进程的详细信息(如 cmdline, status)

修改某些 /proc 文件可动态调整内核参数(如 echo 1 > /proc/sys/net/ipv4/ip_forward)。

/sys —— 系统信息虚拟文件系统

与 /proc 类似,/sys 也是虚拟文件系统,主要用于展示设备、驱动和内核模块的层次结构,支持用户空间与内核交互(如电源管理、设备热插拔)。

/media 与 /mnt —— 挂载点

  • /media:自动挂载可移动设备(如 U 盘、光盘)的标准位置。
  • /mnt:系统管理员临时挂载文件系统的通用目录。

例如插入 U 盘后,可能自动挂载到 /media/user/USB_NAME。

/srv —— 服务数据

存放系统提供的服务数据,如:

  • /srv/www:网站文件(替代传统的 /var/www)
  • /srv/ftp:FTP 服务目录

该目录强调“服务内容”与“系统配置/日志”的分离。

/run —— 运行时变量数据

自 Linux 3.x 起引入,用于存储系统启动后运行时的临时数据(如 PID 文件、套接字),比 /var/run 更规范。该目录在每次启动时重建。

三、FHS 标准简介

上述目录结构遵循 FHS(Filesystem Hierarchy Standard),即“文件系统层次标准”。FHS 由 Linux 基金会维护,旨在统一不同发行版的目录布局,提高兼容性和可维护性。

“

主流发行版(如 Ubuntu、CentOS、Debian)均遵循 FHS。

四、小结

目录
用途简述
/
根目录
/bin
基本用户命令
/sbin
系统管理命令
/etc
配置文件
/home
普通用户家目录
/root
root 用户家目录
/tmp
临时文件
/var
日志、缓存等可变数据
/usr
用户程序与只读资源
/opt
第三方软件
/boot
启动文件
/dev
设备文件
/proc
进程与内核信息(虚拟)
/sys
设备与驱动信息(虚拟)
/media
可移动设备挂载点
/mnt
临时挂载点
/srv
服务数据
/run
运行时数据

最新文章

随机文章