Linux 目录结构详解(通俗版)

Linux 采用 树形目录结构,所有文件和目录都挂在根目录 / 下,就像一棵大树从根部长出所有枝干。理解目录结构的核心是记住:每个目录都有明确的分工,存放特定类型的文件

一、根目录 /

所有目录的 “祖宗”,Linux 系统的起点。所有文件和子目录都直接或间接存放在根目录下。

注意:根目录 / 和用户主目录 ~ 是两回事,~ 一般是 /home/用户名

二、核心目录功能速查表

目录路径 通俗名称 存放内容 一句话总结
/bin 二进制命令目录 系统最基础的命令(如 lscpmvcat 普通用户和 root 都能执行的核心命令
/sbin 系统命令目录 系统管理命令(如 ifconfigrebootfdisk 只有 root 用户才能执行的命令(管理系统用)
/home 用户主目录 普通用户的个人文件夹(如 /home/zhangsan 每个用户的 “私人空间”,存自己的文件和配置
/root 管理员主目录 root 用户的个人文件夹 相当于 root 用户的 ~,普通用户无权访问
/etc 配置文件目录 系统和软件的配置文件(如 passwd 用户信息、nginx.conf Nginx 配置) 改配置就来这个目录,重要文件!
/usr 系统资源目录 相当于 Windows 的 Program Files,存放安装的软件、文档、库文件 usr/bin(额外命令)、usr/lib(库文件)、usr/share(文档)
/var 可变数据目录 经常变化的文件(日志 log、数据库、邮件、缓存) 系统运行中会不
/tmp 临时文件目录 系统和程序的临时文件 重启系统后,里面的文件会被清空(别存重要东西)
/dev 设备文件目录 硬件设备的 “映射文件”(如 /dev/sda 是硬盘、/dev/tty1 是终端) Linux 中 “一切皆文件”,操作设备就是操作这里的文件
/proc 进程信息目录 系统运行时的动态信息(如进程状态、内存使用) 不是真实磁盘文件,是内存数据的映射,查看系统状态用
/lib 系统库目录 系统程序依赖的共享库文件(类似 Windows 的 .dll 文件) 程序运行需要的 “插件”,没它命令跑不起来
/mnt 挂载目录 临时挂载外部设备(如 U 盘、移动硬盘、光盘) 比如把 U 盘挂到 /mnt/usb,就能访问里面的文件
/opt 可选软件目录 第三方大型软件的安装目录(如数据库、大型开发工具) 比如把 Tomcat 装到 /opt/tomcat,方便管理

三、关键目录的通俗解释

1. 最常用的 3 个目录

  • **/home/用户名**:你的 “桌面”,存代码、文档、照片都放这,放心造。
  • **/etc**:改配置的核心区,比如想改 IP 地址、装完软件改参数,都来这里找 .conf 文件。
  • **/var/log**:日志大本营!程序报错了、系统出问题了,就来这里看日志文件(比如 syslog 系统日志),排查问题的关键。

2. 容易混淆的目录

  • **/bin vs /sbin**:普通命令 vs 管理命令,记住 ssuper(超级用户)的意思。
  • **/tmp vs /var/tmp**:都是临时文件,但 /var/tmp 的文件重启后可能不会删,/tmp 会清空。
  • **/proc**:这个目录很特殊,里面的文件不是真的存在硬盘上,而是系统运行时的状态快照。比如 cat /proc/cpuinfo 能看 CPU 信息,cat /proc/meminfo 能看内存使用。

3. 设备目录 /dev 的小知识

  • /dev/null:“黑洞” 文件,任何写入这里的内容都会消失。比如想屏蔽命令的输出,就 命令 > /dev/null
  • /dev/zero:“零发生器”,能生成无限的空数据,常用于测试内存。

四、Linux 目录的 2 个重要规则

  1. 区分大小写/home/ZhangSan/home/zhangsan 是两个不同的目录,Windows 不区分,Linux 区分!
  2. 一切皆文件:目录是 “文件夹文件”,硬件是 “设备文件”,进程是 “动态文件”,所有操作都通过读写文件完成。