Linux系统的目录结构遵循文件系统层次结构标准(FHS),这使得不同发行版之间保持了良好的一致性。其主要设计理念是通过目录分类来分离系统核心文件、用户文件、配置文件和可变数据,从而简化权限管理和故障排查。
以下是Linux系统核心目录结构的表格展示:
目录路径 | 主要功能与用途描述 | 常见内容/示例 |
---|---|---|
/ | 文件系统的起点,所有目录和文件的根目录。 | 包含整个系统所有的基础目录。 |
/bin | 存放所有用户都可使用的基础命令,这些命令是系统启动和恢复所必需的。 | ls , cp , cat , mv , bash 等。 |
/boot | 存放系统启动所需的文件。 | 内核 (vmlinuz ), 引导加载程序 (如GRUB), initramfs 。 |
/dev | 包含设备文件,用于访问计算机硬件或虚拟设备。 | /dev/sda (硬盘), /dev/tty (终端), /dev/null (空设备)。 |
/etc | 存放系统和应用程序的配置文件。 | /etc/fstab (文件系统表), /etc/passwd (用户账户), 网络配置、服务配置等。 |
/home | 普通用户的主目录,每个用户通常有一个独立的子目录存放个人文件。 | /home/username (用户个人文件、配置等)。 |
/lib | 存放系统核心共享库文件,这些库文件是/bin 和/sbin 中程序运行所必需的。 | 共享库文件(如 .so 文件)。 |
/media | 用于自动挂载可移动设备的目录。 | U盘、光盘等插入后常自动挂载于此。 |
/mnt | 供系统管理员临时手动挂载文件系统的目录。 | 临时挂载另一个硬盘分区或网络共享。 |
/opt | 用于安装第三方或大型可选软件包。 | 如 /opt/google/chrome/ 。 |
/proc | 虚拟文件系统,提供内核和进程的实时信息,内容存储在内存中。 | /proc/cpuinfo (CPU信息), /proc/meminfo (内存信息)。 |
/root | 系统管理员(root用户)的主目录。 | root用户的个人文件和配置。 |
/sbin | 存放供系统管理员使用的系统管理命令,通常需要root权限执行。 | fdisk , ifconfig , reboot , shutdown 等。 |
/tmp | 存放临时文件,所有用户可读写,系统重启后文件通常会被清除。 | 程序和用户创建的临时文件。 |
/usr | 存放用户应用程序和文件(”Unix System Resources”),包含多个重要子目录: | |
↳ /usr/bin | 非系统运行所必需的用户命令。 | python , gcc 等。 |
↳ /usr/sbin | 非系统运行所必需的系统管理命令。 | sshd 等。 |
↳ /usr/lib | 应用程序的共享库文件。 | |
↳ /usr/local | 用户手动编译安装的软件的默认位置。 | 本地编译的软件。 |
↳ /usr/share | 存放架构无关的共享数据,如文档、图标、字体等。 | |
/var | 存放经常变化的动态数据,包含多个重要子目录: | |
↳ /var/log | 存放系统和应用程序的日志文件。 | syslog , auth.log 等。 |
↳ /var/cache | 应用程序的缓存数据。 | |
↳ /var/lib | 应用程序的状态信息和数据库文件。 | 如 /var/lib/mysql/ 。 |
↳ /var/spool | 存放队列数据,如邮件、打印任务等。 | |
/run | 存放系统启动后的运行时临时文件,如进程ID(PID)文件、锁文件等,重启后清空。 | |
/srv | 存放特定服务的数据文件。 | Web服务器文件 (/srv/www/ ), FTP资源等。 |
💡 记住几个核心原则
- 一切皆文件:在Linux中,硬件设备、进程信息等大多都被抽象为文件进行管理。
- 权限管理:不同的目录有不同的权限设置,修改系统核心目录(如
/etc
,/bin
,/sbin
)需格外谨慎,建议使用sudo
并提前备份。 - Home目录最重要:你的个人文件和配置通常存放在
/home/你的用户名
下,这是重装系统时最需要备份的目录。
希望这份表格能帮助你快速建立对Linux系统目录结构的整体认识。