Linux 系统的目录结构类似一棵倒置的树,“/”是根目录,其下是系统各项功能的分支。下图清晰地展示了 Linux 默认目录结构及其作用:
/
根目录
- 所有文件与目录的起点,是 Linux 文件系统的顶层。
- 其下的每个子目录都有特定作用,类似 Windows 的
C:\Windows、C:\Program Files
的组合。
/bin
- 功能: 存放系统最常用的可执行命令。
- 示例命令:
ls
,cat
,cd
,cp
,mv
等。 - 所有用户都可以使用,是系统启动必须依赖的命令集合。
/boot
-
功能: 存放系统启动时所需的引导加载程序文件。
-
常见内容:
vmlinuz
:Linux 内核文件;initrd.img
:初始 RAM 磁盘镜像;grub/
:启动管理器配置。
/dev
-
功能: 存放系统中的设备文件,如硬盘、键盘、鼠标。
-
示例:
/dev/sda
:主硬盘;/dev/null
:空设备;/dev/tty
:终端设备。
-
所有硬件都被抽象成“文件”。
/etc
-
功能: 系统配置文件的集中地。
-
示例:
/etc/hostname
:主机名;/etc/fstab
:文件系统挂载信息;/etc/ssh/sshd_config
:SSH 配置。
/home
- 功能: 普通用户的个人文件夹。
- 每个用户都会拥有如
/home/user1
这样的子目录,里面存储着个人桌面、下载等数据。
/lib
- 功能: 系统运行时需要的共享库文件,相当于 Windows 的
.dll
文件。 - 用于支持
/bin
和/sbin
中的程序运行。
/media
- 功能: 用于自动挂载的可移动设备,如 U 盘、光盘等。
- 插入设备时会自动出现在
/media/用户名/设备名
。
/mnt
-
功能: 提供一个临时的挂载点,通常由管理员用于手动挂载设备。
-
示例命令:
sudo mount /dev/sdb1 /mnt/usb
/opt
- 功能: 第三方软件安装位置。
- 自己手动安装的程序如
google chrome
、VMware
,可能会安装在这里。
/proc
-
功能: 是一个虚拟文件系统,用于提供内核、进程信息。
-
常用内容:
/proc/cpuinfo
:CPU 信息;/proc/meminfo
:内存信息;/proc/[pid]/
:每个进程的详细运行信息。
/root
- 功能: Linux 中的超级管理员(root)用户的家目录。
- 注意:不是
/home/root
,而是单独的/root
。
/run
- 功能: 存放系统运行时的数据,例如 PID 文件、锁文件等。
- 是
/var/run
的新替代位置。
/sbin
- 功能: 系统级别的管理命令,多为超级管理员使用。
- 示例命令:
ifconfig
,reboot
,shutdown
,iptables
/srv
- 功能: 存放服务相关的数据,如 Web 服务、FTP 服务数据。
- 示例:
/srv/www
是 Apache/Nginx 的 Web 根目录。
/sys
- 功能: 虚拟文件系统,提供硬件信息与内核接口。
- 类似
/proc
,但更偏向于硬件设备与驱动交互。
/tmp
- 功能: 存放临时文件,通常系统或程序临时创建的文件都会放在这里。
- 特点:系统重启时会清空。
/usr
-
功能: 存放系统安装的应用程序、文档、库等内容。
-
类似 Windows 的 “Program Files”。
-
子目录结构:
/usr/bin/
:用户命令;/usr/sbin/
:管理员命令;/usr/lib/
:程序运行库;/usr/local/
:用户手动安装程序。
/var
-
功能: 存放经常变化的数据,如日志、缓存、队列等。
-
常见子目录:
/var/log/
:系统日志;/var/mail/
:用户邮件;/var/spool/
:打印任务、邮件队列。
目录分工明确,职责清晰
目录类型 | 功能关键词 |
---|---|
系统核心 | /bin , /sbin , /lib , /boot |
用户数据 | /home , /root , /media , /mnt |
配置信息 | /etc |
服务与日志 | /srv , /var , /tmp , /run |
虚拟接口 | /proc , /sys |
程序存放 | /usr , /opt |
Linux 的目录结构看似复杂,其实逻辑非常清晰——每个目录都有明确的用途和分工。掌握这些基础知识,就像打通了系统世界的任督二脉,无论是配置服务、排查问题,还是学习运维与安全,都会更加得心应手。
对于初学者来说,不必死记硬背每一个目录,而是在实战中慢慢理解、反复使用中熟悉。可以经常使用 cd
、ls
、tree /
等命令,在真实的系统中“走一走,看一看”,才能真正把知识变成自己的工具。
👣 个人建议:
- 尝试手动挂载一个 U 盘,观察
/media
和/mnt
的变化; - 查看
/proc/cpuinfo
和/sys
下的文件,感受虚拟文件系统的神奇; - 深入学习
/etc
中的网络配置文件,了解系统是如何启动与联网的。