目录
Linux 系统的目录结构是组织文件和目录的一种逻辑层次结构,旨在帮助用户和系统管理员有效地管理和访问文件。Linux 的目录结构遵循 Filesystem Hierarchy Standard (FHS),这是一个行业标准,定义了文件系统的典型布局,以促进不同发行版之间的兼容性。
下面详细介绍 Linux 系统的主要目录及其用途:
1. 根目录 (/
)
根目录是文件系统的起点,所有的文件和目录都是从这里派生出来的。
2. 主要目录
2.1 /bin
存放基本的用户命令,如 ls
、cp
、mv
等。这些命令是系统管理员和用户常用的工具。
2.2 /boot
存放引导程序所需要的文件,如内核映像 (vmlinuz
)、引导加载程序配置文件 (grub.cfg
) 和初始 RAM 文件系统 (initrd.img
)。
2.3 /dev
存放设备文件,如块设备(如硬盘)和字符设备(如终端)。现代 Linux 系统通常使用 udev
系统动态管理设备文件。
2.4 /etc
存放系统配置文件,如网络配置、服务配置文件等。这是系统管理员最常访问的目录之一。
2.5 /home
存放普通用户的家目录。每个用户都有一个自己的家目录,用来存放个人文件和设置。
2.6 /lib
和 /lib64
存放内核和系统程序所需的动态链接库文件。/lib64
专门用于存放 64 位架构的库文件。
2.7 /media
存放挂载的可移动媒体设备的挂载点,如 USB 闪存驱动器、光盘等。
2.8 /mnt
用于临时挂载文件系统。通常用于手动挂载目的,而不是自动挂载。
2.9 /opt
存放可选应用程序的安装目录。这些应用程序通常是厂商提供的附加软件包,不是系统自带的。
2.10 /proc
虚拟文件系统,提供正在运行的进程信息、系统内核状态等。这些文件实际上是由内核动态生成的。
2.11 /root
存放超级用户(root 用户)的家目录。
2.12 /run
存放系统启动以来的运行时变量数据,如 PID 文件、套接字文件等。在重启后会被清空。
2.13 /sbin
存放系统管理员使用的命令和脚本,如 ifconfig
、mount
、shutdown
等。
2.14 /srv
存放服务数据文件,如 FTP、Web、数据库等服务的数据。
2.15 /sys
虚拟文件系统,提供系统硬件设备的信息。这些文件同样是由内核动态生成的。
2.16 /tmp
存放临时文件,如程序运行时产生的临时文件。在重启后会被清空。
2.17 /usr
存放用户级别的二进制文件、库文件和文档。/usr
目录下还有 /usr/bin
、/usr/lib
、/usr/share
等子目录。
2.18 /var
存放可变数据,如日志文件、邮件队列、打印队列等。/var
目录下还有 /var/log
、/var/spool
等子目录。
3. 特殊目录
3.1 /lost+found
文件系统检查工具(如 fsck)在修复文件系统时会将找不到目录结构的文件移动到这里。
3.2 /lost+found
以外的特殊目录
还有一些特殊的目录,如 /sys/fs/cgroup
(用于控制组管理)、/sys/kernel/debug
(内核调试信息)等,它们通常用于系统管理和调试。
4. 其他重要子目录
4.1 /usr/bin
存放用户级别的命令。
4.2 /usr/local
存放本地管理员安装的软件和配置文件。通常用于安装自编译的软件。
4.3 /usr/share
存放共享的数据文件,如文档、手册页、字体等。
4.4 /usr/src
存放源代码,通常用于编译内核或软件包。
4.5 /var/log
存放系统日志文件,如 messages
、auth.log
等。
总结
Linux 系统的目录结构是为了方便文件的组织和管理而设计的。每个目录都有其特定的用途和功能。了解这些目录的作用和位置可以帮助用户和系统管理员更好地管理文件系统,并确保系统的稳定运行。随着 Linux 系统的发展,目录结构可能会有一些变化,但 FHS 标准仍然为大多数 Linux 发行版所遵循。