当前位置:首页>Linux>Linux系统基础7:系统目录结构详细详解

Linux系统基础7:系统目录结构详细详解

  • 2026-09-07 18:18:20
Linux系统基础7:系统目录结构详细详解

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/mmcblk0
    eMMC/SD 卡
    嵌入式设备、开发板常用,比如 OK62xx 的存储芯片
    /dev/ttyS0
    第一个硬件串口
    嵌入式开发调试外设常用
    /dev/ttyUSB0
    USB 转串口设备
    比如外接的 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/syslog
      :系统主日志,几乎所有系统事件都会记录在这里
    • /var/log/auth.log
      :登录认证日志,谁登录过、成功失败都有记录
    • /var/log/apt/
      :apt 安装卸载软件的日志
    • /var/log
      :系统日志目录,所有系统日志、软件日志都存在这里,排错必看
    • /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 互通的目录:

  1. Windows 磁盘挂载点
    :/mnt/
    • /mnt/c
       对应 Windows 的 C 盘
    • /mnt/d
       对应 Windows 的 D 盘
    • 你可以在 Linux 里直接读写 Windows 的所有文件,路径就是 /mnt/盘符/路径
  2. 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」这几个最常用的,其他的用到的时候查就行。

最新文章

随机文章