Linux 目录结构遵循一种层次化的文件系统组织方式,这种结构被称为 Filesystem Hierarchy Standard (FHS)。FHS 定义了 Linux 系统中各个目录的标准用途,确保了不同 Linux 发行版之间的一致性和可预测性。以下是 Linux 目录结构的主要组成部分及其用途的详细介绍:
1. /
- 根目录
根目录是整个文件系统的起点,所有的目录和文件都从这里开始分支。
2. /bin
- 基本命令二进制文件
包含系统启动和运行所必需的二进制可执行文件,例如 ls
, cp
, mv
等。
3. /boot
- 启动文件
包含启动 Linux 系统所需的静态文件,例如内核映像 (vmlinuz
)、初始 RAM 磁盘映像 (initrd
) 和启动加载器配置文件。
4. /dev
- 设备文件
包含设备文件,这些文件是访问硬件设备的接口。例如,/dev/sda
表示第一个 SATA 硬盘。
5. /etc
- 配置文件
包含系统的配置文件,例如网络配置、服务配置、用户配置等。
6. /home
- 用户主目录
每个用户在 /home
目录下都有一个私有目录,例如 /home/user
,用于存储用户的个人文件和配置。
7. /lib
- 基本共享库和内核模块
包含系统启动和运行所必需的共享库文件和内核模块。
8. /media
- 可移动媒体挂载点
用于挂载可移动媒体设备,例如 USB 驱动器、CD-ROM 等。
9. /mnt
- 临时挂载点
用于临时挂载文件系统,例如网络文件系统 (NFS) 或外部硬盘。
10. /opt
- 可选应用程序软件包
用于安装第三方应用程序软件包,通常是那些不遵循标准目录结构的软件。
11. /proc
- 进程信息
一个虚拟文件系统,提供有关系统进程和内核参数的信息。
12. /root
- 超级用户主目录
超级用户 (root) 的主目录,与普通用户的主目录分开。
13. /run
- 运行时变量数据
包含系统运行时的变量数据,例如进程 ID 文件 (pid
) 和锁文件 (lock
)。
14. /sbin
- 系统二进制文件
包含系统管理员使用的系统二进制可执行文件,例如 fsck
, ifconfig
, iptables
等。
15. /srv
- 服务数据
包含系统提供的服务所需的数据,例如 Web 服务器的数据文件。
16. /sys
- 系统信息
一个虚拟文件系统,提供有关设备、驱动程序和系统内核参数的信息。
17. /tmp
- 临时文件
用于存储临时文件,通常在系统重启时会被清空。
18. /usr
- 用户程序
包含用户程序和文件,例如 /usr/bin
包含用户可执行文件,/usr/lib
包含共享库,/usr/share
包含共享数据等。
19. /var
- 可变数据文件
包含经常变化的文件,例如日志文件 (/var/log
)、缓存文件 (/var/cache
)、邮件 spool (/var/spool
) 等。
总结
Linux 目录结构是一个精心设计的层次化系统,每个目录都有其特定的用途和功能。理解这些目录的用途和组织方式,对于系统管理员和开发人员来说都是非常重要的。通过遵循 FHS,Linux 系统确保了文件系统的一致性和可预测性,使得不同发行版之间的操作和维护变得更加容易和可靠。