Linux系统基础7:系统目录结构详细详解
目录Linux 系统目录结构 新手超详细详解一、先搞懂 2 个基础概念1. 绝对路径 vs 相对路径2. 4 个必记特殊路径符号二、核心目录逐个讲按功能分类附实例1. 最顶层根目录 /2. ⭐系统配置核心/etc3. ⭐用户目录/home、/root1普通用户家目录/home2管理员家目录/root4. 程序与命令类目录1基础命令/bin、/sbin2⭐用户级程序/usr3第三方软件/opt5. 设备与虚拟文件系统「一切皆文件」的核心体现1⭐设备文件/dev2⭐进程与内核信息/proc3硬件设备管理/sys6. 运行时与可变数据/run、/var1运行时临时数据/run2⭐可变数据/var7. ⭐临时文件/tmp8. 挂载扩展目录/mnt、/media1手动挂载/mnt2自动挂载/media9. ⚠️系统启动/boot10. 共享库/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.listUbuntu 软件源配置文件你换源的时候修改的就是它/etc/passwd存放系统所有用户的账号信息/etc/hostname系统的主机名配置文件/etc/ssh/sshd_configSSH 远程登录的配置文件新手注意修改这里的文件前最好先备份改错配置可能导致系统功能异常。3. ⭐用户目录/home、/root1普通用户家目录/home作用所有普通用户的个人目录都放在这里每个用户对应一个子目录。举例你的用户名是linuxlearn那你的家目录就是/home/linuxlearn简写为~。特点用户对自己的家目录有完全的读写执行权限随便创建、修改、删除文件都不会影响系统其他普通用户默认不能访问你的家目录保证隐私对应 Windows相当于C:\Users\你的用户名文件夹存放桌面、文档、下载等个人数据。2管理员家目录/root作用超级管理员root用户的专属家目录。特点不和普通用户一起放在/home下独立在根目录普通用户默认没有权限进入/root目录新手注意日常操作不要用 root 用户普通用户加sudo临时提权即可更安全。4. 程序与命令类目录Linux 里的所有命令、软件本质都是可执行文件按「重要程度 使用用户」分类存放在不同目录。1基础命令/bin、/sbin表格目录全称作用举例使用者/binBinary 二进制存放系统最基础的命令单用户救援模式也能使用是系统保命用的ls、cd、cp、mv、cat所有用户/sbinSystem Binary 系统二进制存放系统管理员用的管理命令用来管理系统底层fdisk磁盘分区、ifconfig网络配置、reboot重启root 用户小知识现在很多主流发行版比如新版 Ubuntu已经把/bin和/usr/bin合并了但设计逻辑还是保留的。2⭐用户级程序/usr全称Unix System ResourcesUnix 系统资源不是「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/cpuinfoCPU 的详细硬件信息执行cat /proc/cpuinfo就能查看/proc/meminfo内存的详细使用信息/proc/version内核版本信息/proc/数字每个运行中的进程对应一个数字目录数字是进程 PID里面存着这个进程的所有信息新手注意这里的文件不要随便修改可能直接影响内核运行。3硬件设备管理/sys作用比/proc更结构化的虚拟文件系统专门用来管理硬件设备存放设备树、驱动、总线信息。特点嵌入式 Linux 开发用得非常多比如配置 GPIO、控制外设很多都是通过读写/sys下的文件实现的。新手注意普通用户了解即可驱动开发、嵌入式开发才需要深入。6. 运行时与可变数据/run、/var1运行时临时数据/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、/mediaLinux 里要访问 U 盘、移动硬盘、其他分区需要把它「挂载」到一个空目录上访问这个目录就等于访问这个设备。1手动挂载/mnt全称Mount 挂载作用给管理员手动挂载临时设备用的目录比如挂载 U 盘、移动硬盘、网络共享。举例你插了一个 U 盘手动挂载到/mnt/usb目录进入/mnt/usb就能看到 U 盘里的文件。2自动挂载/media作用系统自动挂载可移动设备的目录比如 U 盘、光盘、移动硬盘。举例桌面版 Ubuntu 插上 U 盘后系统会自动挂载到/media/你的用户名/U盘名称下面直接点开就能用。9. ⚠️系统启动/boot作用存放系统启动需要的所有核心文件包括 Linux 内核文件、引导程序GRUB、启动配置。举例vmlinuz-xxxLinux 内核镜像文件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 根目录。四、新手速记常用目录 避坑指南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」这几个最常用的其他的用到的时候查就行。