Linux 新手村Linux 新手村
🏠 首页
📖 教程
  • Linux 官网
  • Ubuntu 官网
  • CentOS 官网
🏠 首页
📖 教程
  • Linux 官网
  • Ubuntu 官网
  • CentOS 官网
  • 🚀 入门篇 - 欢迎来到 Linux 世界

    • 📚 长安的教程导航
    • 🐧 什么是 Linux?
    • 💿 安装 Linux
    • 🎉 首次开机
  • 🎯 基础篇 - 必备生存技能

    • ⌨️ 基础命令
    • 🗂️ 文件系统
    • 📝 文件操作
    • 👥 用户与权限
  • ⚔️ 进阶篇 - 成为高手之路

    • ⚔️ Vim 编辑器
    • 🤖 Shell 脚本
    • ⚙️ 进程与服务
    • 🌐 网络基础
  • 🏆 高级篇 - 突破自我

    • 💡 高级技巧
    • 🔧 故障排查
    • 🎭 日常案例与血泪教训

🗂️ 文件系统

大家好,我是长安!这一章给大家讲讲 Linux 的文件系统,理解了目录结构,你才能在 Linux 的世界里游刃有余。

🎯 本章目标

跟着长安读完这一章,你将了解:

  • Linux 文件系统的目录结构
  • 各个重要目录的用途
  • 绝对路径和相对路径的区别

🌲 目录树结构

Linux 的文件系统就像一棵倒过来的树:

/                   ← 根目录(树根)
├── bin             ← 基本命令
├── boot            ← 启动文件
├── dev             ← 设备文件
├── etc             ← 配置文件
├── home            ← 用户主目录
│   ├── xiaoming    ← 小明的家
│   └── xiaohong    ← 小红的家
├── lib             ← 库文件
├── media           ← 可移动设备挂载点
├── mnt             ← 临时挂载点
├── opt             ← 可选软件
├── proc            ← 进程信息
├── root            ← root用户的家
├── sbin            ← 系统命令
├── srv             ← 服务数据
├── sys             ← 系统信息
├── tmp             ← 临时文件
├── usr             ← 用户软件
│   ├── bin         ← 用户命令
│   ├── lib         ← 用户库
│   └── local       ← 本地软件
└── var             ← 可变数据
    └── log         ← 日志文件

💡 和 Windows 的区别

Windows:有 C 盘、D 盘、E 盘...每个盘有自己的根目录

Linux:只有一个根目录 /,所有东西都在这棵树下面

📁 重要目录详解

/ - 根目录

一切的起点!所有文件和目录都在这里面。

cd /
ls

/home - 用户的家

普通用户的"家"目录都在这里。

# 小明的主目录
/home/xiaoming

# 你的主目录可以用 ~ 表示
cd ~
# 等同于
cd /home/你的用户名

每个用户在自己的家目录里可以随便折腾,不会影响其他用户。

/root - root 用户的家

超级管理员(root)的主目录。普通用户一般进不去。

ls /root
# 可能会提示:Permission denied(权限不足)

/etc - 配置文件大本营

几乎所有软件的配置文件都在这里。

# 常见的配置文件
/etc/passwd      # 用户信息
/etc/shadow      # 用户密码(加密的)
/etc/group       # 用户组信息
/etc/hostname    # 主机名
/etc/hosts       # 域名解析
/etc/fstab       # 磁盘挂载配置
/etc/apt/        # APT 软件源配置

⚠️ 注意

修改 /etc 下的文件要小心,改错了可能导致系统出问题! 修改前最好先备份:

sudo cp /etc/some.conf /etc/some.conf.backup

/var - 可变数据

存放经常变化的数据,比如日志、缓存等。

# 常见目录
/var/log         # 系统日志
/var/cache       # 缓存
/var/tmp         # 临时文件(比 /tmp 保留时间更长)
/var/www         # 网站文件(如果装了 Web 服务器)

/tmp - 临时文件

任何用户都可以在这里放临时文件。系统重启后会被清空。

# 可以在这里做实验
cd /tmp
touch test.txt

/usr - 用户程序

大部分用户安装的软件都在这里。

/usr/bin         # 用户命令
/usr/sbin        # 系统管理命令
/usr/lib         # 库文件
/usr/local       # 手动安装的软件
/usr/share       # 共享数据

/bin 和 /sbin - 基本命令

  • /bin:所有用户都能用的基本命令(ls、cp、mv 等)
  • /sbin:系统管理员用的命令(fdisk、ifconfig 等)
🤓 现代 Linux 的变化

在新版本的 Ubuntu 中,/bin 实际上是指向 /usr/bin 的符号链接。这是为了简化目录结构。

ls -l /bin
# 输出:lrwxrwxrwx 1 root root 7 /bin -> usr/bin

/dev - 设备文件

Linux 中"一切皆文件",硬件设备也是以文件形式存在的。

/dev/sda         # 第一块硬盘
/dev/sda1        # 第一块硬盘的第一个分区
/dev/sdb         # 第二块硬盘(如 U 盘)
/dev/null        # 黑洞设备(丢弃所有写入的数据)
/dev/zero        # 零设备(读取时返回无限的 0)
/dev/random      # 随机数生成器

💡 有趣的用法

# 把输出丢进黑洞(不显示)
command > /dev/null

# 生成一个 1MB 的空文件
dd if=/dev/zero of=emptyfile bs=1M count=1

/proc - 虚拟文件系统

这个目录是"虚拟"的,不占用磁盘空间。它提供了查看系统运行时信息的接口。

# 查看 CPU 信息
cat /proc/cpuinfo

# 查看内存信息
cat /proc/meminfo

# 查看进程信息(1 是进程号)
ls /proc/1

# 查看系统版本
cat /proc/version

/media 和 /mnt - 挂载点

  • /media:自动挂载的设备(如 U 盘、光盘)
  • /mnt:临时手动挂载点
# 插入 U 盘后,通常会自动挂载到
/media/你的用户名/U盘名称

🛤️ 路径

绝对路径

从根目录 / 开始的完整路径。

/home/xiaoming/Documents/file.txt

特点:

  • 以 / 开头
  • 不管你在哪,都能准确定位
  • 比较长

相对路径

相对于当前目录的路径。

# 假设你在 /home/xiaoming
cd Documents        # 进入 Documents
cat ./file.txt      # 当前目录的 file.txt
cat ../other.txt    # 上级目录的 other.txt

特点:

  • 不以 / 开头
  • 取决于你当前在哪
  • 比较短

举个例子

假设目录结构是这样的:

/home/xiaoming/
├── Documents/
│   ├── work/
│   │   └── report.txt
│   └── notes.txt
└── Pictures/
    └── photo.jpg

你现在在 /home/xiaoming/Documents/work/ 目录:

目标绝对路径相对路径
report.txt/home/xiaoming/Documents/work/report.txt./report.txt 或 report.txt
notes.txt/home/xiaoming/Documents/notes.txt../notes.txt
photo.jpg/home/xiaoming/Pictures/photo.jpg../../Pictures/photo.jpg

🔗 链接

Linux 中有两种链接:硬链接和软链接(符号链接)。

软链接(符号链接)

类似 Windows 的快捷方式。

# 创建软链接
ln -s /path/to/original /path/to/link

# 示例
ln -s /home/xiaoming/Documents ~/docs

# 查看软链接
ls -l ~/docs
# 输出:lrwxrwxrwx ... docs -> /home/xiaoming/Documents

硬链接

相当于给文件取了个别名,指向同一块数据。

# 创建硬链接
ln /path/to/original /path/to/link
🤔 软链接 vs 硬链接
特性软链接硬链接
可以链接目录✅ 可以❌ 不行
可以跨文件系统✅ 可以❌ 不行
原文件删除后链接失效链接仍有效
文件大小很小与原文件相同

新手一般只需要会用软链接就够了!

📏 文件类型

用 ls -l 查看时,第一个字符表示文件类型:

字符类型说明
-普通文件文本、图片、程序等
d目录Directory
l符号链接软链接
c字符设备键盘、终端等
b块设备硬盘、U盘等
s套接字网络通信
p管道进程通信

🎯 实战练习

试着回答这些问题:

  1. 你的主目录在哪里?
echo $HOME
# 或
cd ~
pwd
  1. 系统日志在哪里?
ls /var/log
  1. 查看系统有多少个 CPU 核心?
cat /proc/cpuinfo | grep processor
  1. 创建一个软链接
# 在桌面创建一个指向 Documents 的快捷方式
ln -s ~/Documents ~/Desktop/我的文档

📝 本章小结

目录用途记忆技巧
/根目录一切的起点
/home用户主目录你的"家"
/etc配置文件Etc = Editable Text Configuration
/var可变数据Variable
/tmp临时文件Temporary
/usr用户程序User
/bin基本命令Binary
/dev设备文件Device
/proc进程信息Process

💡 记忆口诀

"回家吃饭,变得临时有用"

  • 回家(/home)
  • 吃(/etc)
  • 饭(/var)
  • 变得(/dev)
  • 临时(/tmp)
  • 有用(/usr)

🚀 下一步

了解了文件系统结构,接下来跟着长安学习 文件操作 的更多技巧!

—— 编程指南社区 · 长安

最后更新: 2025/12/1 15:56
Prev
⌨️ 基础命令
Next
📝 文件操作