目录
Linux 系统目录结构 新手超详细详解
一、先搞懂 2 个基础概念
1. 绝对路径 vs 相对路径
2. 4 个必记特殊路径符号
二、核心目录逐个讲(按功能分类,附实例)
1. 最顶层:根目录 /
2. ⭐系统配置核心:/etc
3. ⭐用户目录:/home、/root
(1)普通用户家目录:/home
(2)管理员家目录:/root
4. 程序与命令类目录
(1)基础命令:/bin、/sbin
(2)⭐用户级程序:/usr
(3)第三方软件:/opt
5. 设备与虚拟文件系统(「一切皆文件」的核心体现)
(1)⭐设备文件:/dev
(2)⭐进程与内核信息:/proc
(3)硬件设备管理:/sys
6. 运行时与可变数据:/run、/var
(1)运行时临时数据:/run
(2)⭐可变数据:/var
7. ⭐临时文件:/tmp
8. 挂载扩展目录:/mnt、/media
(1)手动挂载:/mnt
(2)自动挂载:/media
9. ⚠️系统启动:/boot
10. 共享库:/lib、/lib64
三、WSL 专属目录说明
四、新手速记:常用目录 & 避坑指南
1. 你日常高频使用的目录
2. 新手绝对不要碰的目录
五、新手常见疑问解答
1. 为什么 Linux 不分 C 盘 D 盘?
2. 我自己的文件存在哪里最安全?
3. 怎么快速记住这么多目录?
Linux 系统目录结构 新手超详细详解
Linux 的目录设计和 Windows 有本质区别:Windows 是「多盘符并列」(C 盘、D 盘、E 盘),每个盘都是独立的树形结构;而 Linux 是单根树形结构,整个系统只有一个最顶层的「根目录」/,所有文件、文件夹、硬件设备都以目录 / 文件的形式,挂在这棵树上。
这个设计就是 Linux 核心思想「一切皆文件」的体现:不管是普通文档、程序、硬盘、串口、甚至进程,都统一用「文件 / 目录」的形式来访问和操作。
一、先搞懂 2 个基础概念
1. 绝对路径 vs 相对路径
所有目录定位都分两种写法,新手一定要分清:
| 类型 | 定义 | 特点 | 举例 |
|---|---|---|---|
| 绝对路径 | 从根目录/开始写的完整路径 | 无论你当前在哪个目录,路径都是唯一的,一定能找到文件 | /etc/apt/sources.list、/home/zhangsan/learn_linux |
| 相对路径 | 以当前所在目录为基准的路径 | 路径随你当前位置变化而变化,写法更短 | 你在/home/zhangsan时,learn_linux/test.txt就是相对路径 |
快速判断:以
/开头的就是绝对路径,否则就是相对路径。
2. 4 个必记特殊路径符号
| 符号 | 含义 | 本质 |
|---|---|---|
. | 当前目录 | 相对路径的基准点 |
.. | 上一级目录(父目录) | 往上退一层 |
~ | 当前用户的家目录 | 等价于/home/你的用户名 |
- | 上一次所在的目录 | 快速在两个目录间来回切换 |
二、核心目录逐个讲(按功能分类,附实例)
下面按「常用程度 + 功能分类」讲解,标注「⭐新手高频」的是你日常会经常用到的,标注「⚠️新手勿碰」的是系统核心目录,不要乱改乱删。
1. 最顶层:根目录/
- 作用:整个系统的唯一入口,所有目录都从这里延伸出去,相当于 Windows 的「此电脑」,但层级更高。
- 特点:
- 所有路径都以
/开头 - 根目录下的一级子目录都是系统预设的,有严格的功能划分,不要随便新建 / 删除
- 所有路径都以
- 新手注意:不要直接在根目录下存自己的文件,个人文件都存在自己的家目录里。
2. ⭐系统配置核心:/etc
- 全称:Editable Text Configuration(可编辑文本配置)
- 作用:存放所有系统级的配置文件,相当于 Windows 的系统注册表 + 配置文件夹。大到用户账号、网络设置,小到软件的配置,都存在这里。
- 特点:几乎所有配置都是纯文本文件,修改文本就能改系统配置。
- 真实举例(你已经用过的):
/etc/apt/sources.list:Ubuntu 软件源配置文件,你换源的时候修改的就是它/etc/passwd:存放系统所有用户的账号信息/etc/hostname:系统的主机名配置文件/etc/ssh/sshd_config:SSH 远程登录的配置文件
- 新手注意:修改这里的文件前最好先备份,改错配置可能导致系统功能异常。
3. ⭐用户目录:/home、/root
(1)普通用户家目录:/home
- 作用:所有普通用户的个人目录都放在这里,每个用户对应一个子目录。
- 举例:你的用户名是
linuxlearn,那你的家目录就是/home/linuxlearn,简写为~。 - 特点:
- 用户对自己的家目录有完全的读写执行权限,随便创建、修改、删除文件都不会影响系统
- 其他普通用户默认不能访问你的家目录,保证隐私
- 对应 Windows:相当于
C:\Users\你的用户名文件夹,存放桌面、文档、下载等个人数据。
(2)管理员家目录:/root
- 作用:超级管理员
root用户的专属家目录。 - 特点:
- 不和普通用户一起放在
/home下,独立在根目录 - 普通用户默认没有权限进入
/root目录
- 不和普通用户一起放在
- 新手注意:日常操作不要用 root 用户,普通用户加
sudo临时提权即可,更安全。
4. 程序与命令类目录
Linux 里的所有命令、软件本质都是可执行文件,按「重要程度 + 使用用户」分类存放在不同目录。
(1)基础命令:/bin、/sbin
表格
| 目录 | 全称 | 作用 | 举例 | 使用者 |
|---|---|---|---|---|
/bin | Binary 二进制 | 存放系统最基础的命令,单用户救援模式也能使用,是系统保命用的 | ls、cd、cp、mv、cat | 所有用户 |
/sbin | System Binary 系统二进制 | 存放系统管理员用的管理命令,用来管理系统底层 | fdisk(磁盘分区)、ifconfig(网络配置)、reboot(重启) | root 用户 |
小知识:现在很多主流发行版(比如新版 Ubuntu)已经把
/bin和/usr/bin合并了,但设计逻辑还是保留的。
(2)⭐用户级程序:/usr
- 全称:Unix System Resources(Unix 系统资源),不是「user 用户」的意思
- 作用:相当于 Windows 的
Program Files,存放系统自带的用户级软件、命令、库、文档,是系统里最大的目录之一。 - 核心子目录:
/usr/bin:用户级的普通命令,比如apt、nano、tree/usr/sbin:用户级的管理命令,比如useradd(添加用户)/usr/local:用户自己编译安装的软件默认安装在这里,比如你从官网下载源码编译的程序,会放到/usr/local/bin,不会和系统自带的软件冲突,卸载也方便/usr/share:共享的静态数据,比如软件的帮助文档、图标、字体、配置模板
(3)第三方软件:/opt
- 全称:Optional 可选软件
- 作用:存放大型第三方商业软件、独立解压即用的软件包。
- 特点:每个软件占一个独立的子目录,不会把文件分散到系统各处,卸载的时候直接删除整个目录就行。
- 举例:很多企业级软件、IDE、游戏客户端喜欢装在这里,比如部分版本的 VS Code、Chrome、Oracle 数据库。
5. 设备与虚拟文件系统(「一切皆文件」的核心体现)
这部分目录里的文件都不是真实存在于硬盘上的,是系统启动后在内存里虚拟出来的,重启就会消失,用来和硬件、内核交互。
(1)⭐设备文件:/dev
- 全称:Device 设备
- 作用:所有硬件设备都以「文件」的形式存在这里,操作这个文件就等于操作对应的硬件。
- 常见设备文件举例:
表格
设备文件 对应硬件 说明 /dev/sda第一块 SATA/SCSI 硬盘 sda 是第一块,sdb 是第二块,后面加数字是分区,比如 /dev/sda1是第一个分区/dev/mmcblk0eMMC/SD 卡 嵌入式设备、开发板常用,比如 OK62xx 的存储芯片 /dev/ttyS0第一个硬件串口 嵌入式开发调试外设常用 /dev/ttyUSB0USB 转串口设备 比如外接的 4G 模块、串口传感器 /dev/null黑洞文件 写入的所有数据都会被丢弃,经常用来屏蔽不需要的命令输出,比如 ls > /dev/null/dev/zero零生成器 无限输出空字节(0),常用来生成指定大小的空文件
(2)⭐进程与内核信息:/proc
- 全称:Process 进程
- 作用:虚拟文件系统,实时反映内核的运行状态、进程信息、硬件参数,所有数据都是系统从内存里实时生成的,不占硬盘空间。
- 经典举例(你已经用过的):
/proc/cpuinfo:CPU 的详细硬件信息,执行cat /proc/cpuinfo就能查看/proc/meminfo:内存的详细使用信息/proc/version:内核版本信息/proc/数字:每个运行中的进程对应一个数字目录(数字是进程 PID),里面存着这个进程的所有信息
- 新手注意:这里的文件不要随便修改,可能直接影响内核运行。
(3)硬件设备管理:/sys
- 作用:比
/proc更结构化的虚拟文件系统,专门用来管理硬件设备,存放设备树、驱动、总线信息。 - 特点:嵌入式 Linux 开发用得非常多,比如配置 GPIO、控制外设,很多都是通过读写
/sys下的文件实现的。 - 新手注意:普通用户了解即可,驱动开发、嵌入式开发才需要深入。
6. 运行时与可变数据:/run、/var
(1)运行时临时数据:/run
- 作用:存放系统启动后运行过程中产生的临时数据,比如进程的 PID 文件、套接字文件、锁文件。
- 特点:存在内存里,重启就清空,比如:
/run/sshd.pid:存放 SSH 服务的进程号/run/user/1000:当前登录用户的运行时目录
(2)⭐可变数据:/var
- 全称:Variable 可变的
- 作用:存放内容会频繁变化的文件,比如日志、缓存、数据库、邮件。和
/tmp的区别是,/var里的文件不会自动清空,会长期保留。 - 核心子目录(新手常用):
/var/log:系统日志目录,所有系统日志、软件日志都存在这里,排错必看/var/log/syslog:系统主日志,几乎所有系统事件都会记录在这里/var/log/auth.log:登录认证日志,谁登录过、成功失败都有记录/var/log/apt/:apt 安装卸载软件的日志
/var/cache:软件缓存目录,比如 apt 下载的安装包缓存在/var/cache/apt/archives/var/www:如果安装了 Nginx/Apache 网页服务器,网站的网页文件默认放在这里
7. ⭐临时文件:/tmp
- 全称:Temporary 临时
- 作用:所有用户都能读写的公共临时目录,用来存放临时文件、安装包、缓存。
- 特点:
- 系统会定期清理(比如重启后清空,或者超过一定时间自动删除)
- 权限很宽松,所有用户都能创建文件,但只能删自己的
- 新手用法:
- 下载的临时安装包、测试脚本,可以放这里,不用手动清理
- 不确定有没有用的文件,可以先放这,重启自动就没了
8. 挂载扩展目录:/mnt、/media
Linux 里要访问 U 盘、移动硬盘、其他分区,需要把它「挂载」到一个空目录上,访问这个目录就等于访问这个设备。
(1)手动挂载:/mnt
- 全称:Mount 挂载
- 作用:给管理员手动挂载临时设备用的目录,比如挂载 U 盘、移动硬盘、网络共享。
- 举例:你插了一个 U 盘,手动挂载到
/mnt/usb目录,进入/mnt/usb就能看到 U 盘里的文件。
(2)自动挂载:/media
- 作用:系统自动挂载可移动设备的目录,比如 U 盘、光盘、移动硬盘。
- 举例:桌面版 Ubuntu 插上 U 盘后,系统会自动挂载到
/media/你的用户名/U盘名称下面,直接点开就能用。
9. ⚠️系统启动:/boot
- 作用:存放系统启动需要的所有核心文件,包括 Linux 内核文件、引导程序(GRUB)、启动配置。
- 举例:
vmlinuz-xxx:Linux 内核镜像文件initrd.img-xxx:启动时的临时内存文件系统
- 新手警告:绝对不要删除、修改这里的文件,删错了系统直接开不了机,只能重装。
10. 共享库:/lib、/lib64
- 全称:Library 库
- 作用:存放程序运行需要的共享库文件,相当于 Windows 里的
.dll文件。 /lib64是 64 位系统的 64 位库目录。- 特点:
/bin、/sbin里的命令都依赖这些库才能运行,删错了命令会直接无法执行。 - 新手注意:了解即可,一般不用手动操作。
三、WSL 专属目录说明
在 WSL 里,除了上面的标准 Linux 目录,还有和 Windows 互通的目录:
- Windows 磁盘挂载点:
/mnt//mnt/c对应 Windows 的 C 盘/mnt/d对应 Windows 的 D 盘- 你可以在 Linux 里直接读写 Windows 的所有文件,路径就是
/mnt/盘符/路径
- Linux 文件在 Windows 里的访问
- 打开 Windows 文件资源管理器,地址栏输入
\\wsl$回车,就能看到你安装的发行版,点进去就是完整的 Linux 根目录。
- 打开 Windows 文件资源管理器,地址栏输入
四、新手速记:常用目录 & 避坑指南
1. 你日常高频使用的目录
表格
| 目录 | 用途 |
|---|---|
~(/home/你的用户名) | 个人文件、练习代码、下载内容,随便折腾,不会影响系统 |
/tmp | 临时文件、测试文件,用完不用管,系统自动清理 |
/etc | 修改系统配置、软件配置 |
/var/log | 系统出问题了,来这里查日志排错 |
/mnt | 访问 Windows 磁盘、挂载 U 盘 |
2. 新手绝对不要碰的目录
/boot:删了系统直接开不了机/proc、/sys:乱改会导致内核崩溃/dev:不要随便写硬件设备文件,可能烧坏硬件/bin、/sbin、/lib:不要删改系统命令和库
五、新手常见疑问解答
1. 为什么 Linux 不分 C 盘 D 盘?
这是 Unix/Linux 的设计哲学:统一命名空间。所有设备、所有存储都挂载到同一棵目录树上,访问任何东西都用「路径」这一种方式,不用管它是硬盘、U 盘、还是网络文件夹,用法完全一致。
2. 我自己的文件存在哪里最安全?
存在自己的家目录~下面。这里你有完全权限,怎么折腾都不会搞坏系统;就算系统崩了要重装,只要备份家目录,你的所有文件、配置都能保留。
3. 怎么快速记住这么多目录?
不用死记硬背,用多了自然就记住了。新手先记住「家目录、/etc、/tmp、/var/log」这几个最常用的,其他的用到的时候查就行。