Linux 系统目录结构详解(新手详细版)
本文档面向零基础新手,从“Linux 里文件都在哪”讲起,逐个介绍根目录下的主要目录、用途和常用操作,并配有大量示例。
一、核心概念:一棵树、一个根
1.1 和 Windows 的区别
在 Windows 里,你可能习惯:
- C 盘:系统
- D 盘:软件或资料
- E 盘:其他
每个“盘”是平级的,没有统一的“顶点”。
在 Linux 里:
- 没有 C 盘、D 盘 这种概念(除非你手动挂载多块硬盘,但逻辑上仍是一棵树)。
- 所有文件和目录都在一棵树上。
- 这棵树的根只有一个,叫做 根目录,用
/表示。
可以理解为:整个系统就是一个大文件夹,这个大文件夹的名字就是 /。
1.2 根目录长什么样?
在终端输入:
ls /
你可能会看到类似(不同发行版略有差异):
bin boot dev etc home lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var
这些就是直接挂在根目录 / 下面的一级目录。下面我们会一个一个讲。
1.3 路径:绝对路径 和 相对路径
- 绝对路径:从根目录
/开始写,例如/home/zhangsan/Documents。 - 相对路径:从当前目录开始写,例如
Documents、../Downloads。
示例:
# 假设当前在 /home/zhangsan
pwd
# 输出:/home/zhangsan
# 绝对路径:无论当前在哪,都能唯一确定位置
cd /home/zhangsan/Documents
# 相对路径:相对于当前目录
cd Documents # 进入当前目录下的 Documents
cd .. # 进入上一级,即 /home
cd ../lisi/Desktop # 进入“上一级的 lisi 的 Desktop”
特殊符号:
| 符号 | 含义 | 示例 |
|---|---|---|
/ |
根目录,或路径分隔符 | /、/home/user |
~ |
当前用户的主目录 | cd ~ 等价于 cd /home/当前用户名 |
. |
当前目录 | ./myfile 表示当前目录下的 myfile |
.. |
上一级目录 | cd .. |
二、根目录下一级目录总览
先有一个整体印象(表格中的“是否可随意改”指日常使用中是否建议新手随便删改):
| 目录 | 常见用途简述 | 是否可随意改 |
|---|---|---|
/bin |
基础用户命令(如 ls、cp) | 否 |
/sbin |
系统管理命令(如 fdisk) | 否 |
/boot |
内核、启动相关文件 | 否 |
/dev |
设备文件(硬盘、键盘等) | 否 |
/etc |
系统与软件配置文件 | 谨慎 |
/home |
普通用户主目录 | 可放个人文件 |
/lib、/lib64 等 |
系统库文件 | 否 |
/media |
可移动介质挂载点(U 盘等) | 一般自动 |
/mnt |
临时挂载点 | 可挂载,少删改 |
/opt |
第三方可选软件 | 可安装软件 |
/proc |
内核/进程信息(虚拟) | 只读查看 |
/root |
管理员 root 的主目录 | 仅 root |
/run |
运行时数据(虚拟/临时) | 否 |
/srv |
服务数据(如网站文件) | 按需 |
/sys |
内核/设备信息(虚拟) | 只读查看 |
/tmp |
临时文件 | 可放临时文件 |
/usr |
用户级程序、库、文档 | 否 |
/var |
可变数据(日志、缓存等) | 谨慎 |
下面按目录逐个细讲,并配示例。
三、/bin —— 基础用户命令
3.1 是什么?
- bin 来自 binary(可执行程序)。
- 存放所有用户都能用的、最基础的命令对应的可执行文件。
- 例如:
ls、cp、mv、cat、echo、bash等。
系统在“单用户模式”或修复时,通常也要能用到 /bin,所以这里放的是维持基本操作必不可少的命令。
3.2 示例
# 列出 /bin 下的部分内容(很多,这里只示例)
ls /bin
# 看看 ls 这个命令实际是哪个文件
which ls
# 可能输出:/usr/bin/ls (有些发行版会把 /bin 链接到 /usr/bin)
# 直接执行 /bin 里的程序(若存在)
/bin/ls -l
四、/sbin —— 系统管理命令
4.1 是什么?
- s 可以理解为 system,sbin = 系统用的 binary。
- 存放系统管理、维护用的命令,多数需要 root 权限。
- 例如:
fdisk(分区)、ifconfig(网络)、shutdown、reboot等。
4.2 示例
# 列出 /sbin 下的内容(需要 root 的命令居多)
ls /sbin
# 普通用户直接执行可能提示权限不够
sudo /sbin/reboot # 重启(慎用)
五、/boot —— 启动相关
5.1 是什么?
- 存放启动时需要的文件:
- 内核(vmlinuz-xxx)
- 初始化内存盘(initrd、initramfs)
- 引导程序(如 GRUB)的配置和模块