Linux 系统的目录结构是基于 FHS(Filesystem Hierarchy Standard,文件系统层次结构标准)设计的,遵循统一的层级体系,以确保不同的 Linux 发行版能够保持一致性。以下是 Linux 系统目录结构的详细说明以及常用目录的功能描述。
Linux 目录结构概览
通过命令 ls /
或 tree / -L 1
可以看到 Linux 的顶级目录结构。常见目录及其功能如下:
/
├── bin # 用户二进制文件
├── boot # 启动加载器文件
├── dev # 设备文件
├── etc # 配置文件
├── home # 用户主目录
├── lib # 系统库文件
├── media # 可移动媒体挂载点
├── mnt # 临时挂载点
├── opt # 可选软件包
├── proc # 虚拟文件系统
├── root # 超级用户主目录
├── run # 运行时数据
├── sbin # 管理员二进制文件
├── srv # 服务数据
├── sys # 系统文件
├── tmp # 临时文件
├── usr # 用户程序和数据
├── var # 可变数据
各目录详细说明
1. /
(根目录)
- 顶层目录,是所有文件和目录的起点。
- 根目录下存储系统启动和运行的最核心文件,不适合存储普通用户的数据。
2. /bin
-
存储基本的用户命令,二进制可执行文件。
-
常用命令如:
ls, cp, mv, rm, cat, echo, pwd, tar, grep
-
/bin
中的工具可以在系统引导或单用户模式下使用。
3. /boot
- 存放与系统启动相关的文件,包括内核和引导加载器。
- 常见文件:
- 内核镜像:
vmlinuz
- 引导程序:
grub/
- 内核镜像:
- 注意:不要随意更改该目录内容,否则系统可能无法启动。
4. /dev
- 存储设备文件,Linux 中一切设备都被抽象为文件。
- 常见设备:
- 硬盘:
/dev/sda
- 光驱:
/dev/cdrom
- 随机数生成器:
/dev/random
- 硬盘:
- 使用
ls /dev
查看系统设备列表。
5. /etc
- 系统配置文件目录,所有服务和程序的配置文件通常位于此处。
- 常用文件/目录:
- 网络配置:
/etc/network/interfaces
- 主机名:
/etc/hostname
- 用户账户:
/etc/passwd
- SSH 配置:
/etc/ssh/sshd_config
- 网络配置:
- 注意:修改配置文件前建议备份。
6. /home
- 普通用户的主目录,每个用户都有一个独立的子目录:
/home/user1
/home/user2
- 用户在这里存储自己的数据、配置文件和工作目录。
7. /lib
和 /lib64
- 存储系统程序和内核模块依赖的共享库。
/lib
和/lib64
是 32 位和 64 位系统库的存放路径。- 常见库文件:
- 标准 C 库:
libc.so
- 动态链接器:
ld-linux.so
- 标准 C 库:
8. /media
和 /mnt
-
/media
:- 自动挂载可移动设备(如 USB、光盘)。
- 挂载点示例:
/media/usb
或/media/cdrom
-
/mnt
:-
临时挂载点,管理员手动挂载设备时常用。
-
示例挂载命令:
sudo mount /dev/sdb1 /mnt
-
9. /opt
- 用于存放第三方软件包或可选应用程序。
- 常用于安装不通过包管理器提供的软件。
- 示例:
/opt/google
(存放 Chrome 浏览器文件)
10. /proc
- 虚拟文件系统,用于访问内核信息和系统进程信息。
- 常见文件/目录:
/proc/cpuinfo
:显示 CPU 信息。/proc/meminfo
:显示内存使用情况。/proc/<pid>
:每个进程的运行时信息。
11. /root
- 超级用户(
root
用户)的主目录。 - 与普通用户的
/home/<username>
类似,但专属于管理员。 - 默认权限限制,防止普通用户访问。
12. /run
- 存放系统运行时数据,例如 PID 文件和套接字。
- 示例:
/run/sshd.pid
:SSH 服务的进程 ID。
- 数据通常在系统重启后被清空。
13. /sbin
-
存放系统管理命令,供管理员使用。
-
常见命令:
ifconfig, fdisk, reboot, shutdown, iptables
-
普通用户默认没有执行
/sbin
下命令的权限。
14. /srv
- 存放服务相关的数据,例如 Web 服务器或 FTP 服务器的数据。
- 示例:
- Web 服务数据目录:
/srv/www
- FTP 数据目录:
/srv/ftp
- Web 服务数据目录:
15. /sys
- 虚拟文件系统,提供有关硬件设备和内核的信息。
- 现代系统中,
/sys
替代了/proc
中部分硬件信息。
16. /tmp
-
存放临时文件,所有用户都可以访问。
-
系统通常会定期清理
/tmp
中的内容。 -
临时文件使用示例:
echo "Hello World" > /tmp/test.txt
17. /usr
- 存放用户程序和共享数据,类似于 Windows 的
Program Files
。 - 常见子目录:
/usr/bin
:普通用户命令。/usr/sbin
:管理员命令。/usr/lib
:程序使用的库文件。/usr/share
:共享数据(图标、文档等)。/usr/local
:本地安装的程序。
18. /var
- 存放动态变化的数据,如日志、缓存和队列。
- 常见子目录:
/var/log
:日志文件(如/var/log/syslog
、/var/log/auth.log
)。/var/cache
:程序缓存文件。/var/spool
:队列文件(如邮件队列)。/var/www
:默认的 Web 服务器根目录。
常用目录及文件清单
目录/文件 | 用途 |
---|---|
/etc/passwd | 用户账户信息 |
/etc/group | 用户组信息 |
/etc/fstab | 文件系统挂载信息 |
/etc/hostname | 主机名 |
/proc/cpuinfo | CPU 信息 |
/proc/meminfo | 内存使用情况 |
/var/log/syslog | 系统日志 |
/var/log/auth.log | 身份验证日志 |
/tmp | 临时文件存放路径 |
通过熟悉这些目录和文件,Linux 系统管理会变得更加得心应手!