目录结构
Linux 的目录结构遵循 FHS(Filesystem Hierarchy Standard,文件系统层次结构标准),旨在统一不同发行版的文件组织方式,使系统管理更加规范。
根目录 /
- 起点:所有目录和文件的父目录。
- 权限:只有超级用户(root)才有完整权限。
核心系统目录
| 目录 | 功能 | 典型内容 |
|---|
| /bin | 基础命令:所有用户可执行的系统级命令(如 ls, cp)。 | cat, mv, rm, echo |
| /sbin | 系统管理命令:仅供 root 用户使用的关键命令(如 fdisk, iptables)。 | reboot, ifconfig |
| /etc | 配置文件:系统和应用程序的配置文件。 | passwd, nginx.conf |
| /lib | 共享库文件:/bin 和 /sbin 中程序依赖的库文件。 | .so 文件(动态链接库) |
| /boot | 启动文件:内核、引导加载程序(如 GRUB)和启动配置文件。 | vmlinuz-*, initramfs |
| /dev | 设备文件:硬件设备或虚拟设备的接口文件(如磁盘、终端)。 | sda(磁盘)、tty(终端) |
| /proc | 进程和内核信息:虚拟文件系统,实时反映系统运行状态。 | cpuinfo, meminfo |
| /sys | 内核和硬件配置:虚拟文件系统,用于调整内核参数和硬件设备。 | 设备驱动的配置接口 |
用户与程序相关目录
| 目录 | 功能 | 典型内容 |
|---|
| /home | 用户主目录:普通用户的家目录(如 /home/alice)。 | 用户文档、配置文件(.bashrc) |
| /root | root 用户的家目录:超级用户的专属目录。 | 系统管理相关的配置文件 |
| /usr | 用户程序与资源:大部分用户级应用程序和文件(只读)。 | /usr/bin, /usr/lib |
| /usr/local | 本地安装软件:用户手动编译或安装的软件(优先级高于 /usr)。 | 自编译的 nginx, python |
| /opt | 第三方大型软件:商业或独立软件的安装目录(如 Oracle JDK)。 | /opt/google/chrome |
运行时与临时目录
| 目录 | 功能 | 典型内容 |
|---|
| /var | 可变数据:运行时生成的数据(如日志、缓存、数据库)。 | /var/log, /var/cache |
| /tmp | 临时文件:系统或程序运行时生成的临时文件(重启后清空)。 | 临时下载文件、进程锁文件 |
| /run | 运行时数据:系统启动后生成的进程 ID(PID)和套接字文件(重启清空)。 | sshd.pid, docker.sock |
挂载与存储目录
| 目录 | 功能 | 典型内容 |
|---|
| /mnt | 手动挂载点:临时挂载外部设备(如 U 盘、网络存储)。 | /mnt/usb, /mnt/nas |
| /media | 自动挂载点:系统自动挂载的可移动设备(如光盘、USB 盘)。 | /media/cdrom |
| /srv | 服务数据:存放特定服务的数据(如 Web 服务器的站点文件)。 | /srv/www, /srv/ftp |
其他目录
| 目录 | 功能 |
|---|
| /lost+found | 文件恢复:文件系统修复后恢复的碎片文件(仅 ext3/ext4 文件系统存在)。 |
| /snap | Snap 包管理:Ubuntu 等系统使用 Snap 包格式安装的应用程序。 |