第一章:认识 Linux 文件系统

1.1 什么是文件系统

文件系统是操作系统用来组织和管理磁盘上数据的方式。与 Windows 使用盘符(C:\、D:\)不同,Linux 采用单一的树状目录结构,所有文件和目录都从根目录 / 开始,像一棵倒置的大树。

/                ← 根目录(一切的起点)
├── bin
├── etc
├── home
│   ├── alice
│   └── bob
├── usr
├── var
├── tmp
└── ...

📌 核心概念:Linux 没有盘符的概念,所有磁盘、U盘、光驱都是"挂载"到某个目录下才能访问。


1.2 为什么目录结构很重要

  • 了解目录结构 = 知道"什么东西该放在哪里"
  • 是后续学习文件操作、权限管理、服务配置的基础
  • 系统运维、故障排查的第一步就是找对文件位置

第二章:核心目录详解

2.1 / — 根目录

根目录是整个文件系统的起点,所有其他目录都是它的子目录。

ls /

⚠️ 注意:不要在根目录下随意创建文件或目录,根目录只保留系统规定的标准目录。


2.2 /etc — 系统配置中心

etcEditable Text Configuration 的缩写(也有说法源自早期 Unix 的 etcetera)。这里存放系统和服务的配置文件

常见内容:

文件/目录 说明
/etc/passwd 用户账户信息
/etc/shadow 用户密码(加密存储)
/etc/hosts 本地主机名解析
/etc/fstab 磁盘挂载配置
/etc/network/ 网络配置
/etc/nginx/ Nginx 服务配置(如已安装)

实践:

# 查看系统有哪些用户
cat /etc/passwd

# 查看主机名解析配置
cat /etc/hosts

# 查看 etc 目录下所有文件
ls /etc

2.3 /home — 普通用户的主目录

每个普通用户在这里都有一个以自己用户名命名的子目录,用于存放个人文件。

/home/
├── alice/       ← alice 用户的主目录
│   ├── Documents/
│   ├── Downloads/
│   └── ...
└── bob/         ← bob 用户的主目录

实践:

# 查看 home 下有哪些用户
ls /home

# 进入当前用户的主目录(~ 是快捷方式)
cd ~
pwd

# 查看主目录内容
ls -la ~

💡 ~ 符号:在 Linux 中,~ 代表当前用户的主目录,非常方便。


2.4 /var — 可变数据目录

varvariable 的缩写,存放系统运行过程中经常变化的文件

常见内容:

目录 说明
/var/log/ 系统和应用的日志文件
/var/cache/ 应用程序的缓存数据
/var/spool/ 队列数据(如邮件队列、打印队列)
/var/lib/ 程序运行时的状态数据

实践:

# 查看系统日志
ls /var/log

# 查看系统日志内容(需要权限)
cat /var/log/syslog

# 查看缓存目录
ls /var/cache

2.5 /usr — 用户程序与资源

usrUnix System Resources 的缩写(不是 user),类似 Windows 的 Program Files,存放用户级别的程序和工具。

常见内容:

目录 说明
/usr/bin/ 用户命令(如 python3git
/usr/lib/ 程序运行所需的库文件
/usr/local/ 用户自行安装的软件
/usr/share/ 共享数据(文档、图标等)

实践:

# 查看 usr 下的子目录
ls /usr

# 查看用户命令目录
ls /usr/bin | head -20

# 查看本地安装的软件
ls /usr/local

2.6 /tmp — 临时文件目录

tmptemporary 的缩写,用于存放临时文件。

特点:

  • 所有用户都可以读写
  • 系统重启后通常会被清空
  • 适合存放不需要长期保留的临时数据

实践:

# 查看临时目录内容
ls /tmp

# 创建一个临时文件测试
touch /tmp/test_file
ls /tmp/test_file

# 清理临时文件
rm /tmp/test_file

2.7 /root — 超级用户主目录

# 普通用户无法直接进入
sudo ls /root

⚠️ /root 不在 /home 下,这是新手常犯的认知错误。

2.8 /bin/sbin — 基本命令

目录 说明 示例命令
/bin 所有用户可用的基本命令 lscpmvcat
/sbin 仅管理员可用的系统命令 rebootfdiskiptables

2.9 /dev — 设备文件

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

ls /dev
# 常见设备:sda(硬盘)、tty(终端)、null(黑洞设备)

2.10 /proc/sys — 虚拟文件系统

这两个目录不占用磁盘空间,它们的内容存在于内存中,反映系统实时状态。

# 查看 CPU 信息
cat /proc/cpuinfo

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

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

第三章:记忆口诀与总结

3.1 速记口诀

“配置在 etc,用户在 home,程序在 usr,日志在 var,临时放 tmp,设备看 dev”

3.2 目录分类记忆法

分类 目录 关键词
配置类 /etc 系统设置
用户类 /home/root 个人空间
程序类 /usr/bin/sbin 软件和命令
数据类 /var/tmp 运行时数据
系统类 /dev/proc/sys 硬件与内核

第四章:综合练习

练习一:目录探索

完成以下操作并记录结果:

# 1. 列出根目录下所有目录
ls /

# 2. 查看 /etc 下以 "host" 开头的文件
ls /etc/host*

# 3. 查看 /var/log 下最大的 5 个日志文件
ls -lS /var/log | head -6

# 4. 查看 /usr 下有哪些子目录
ls /usr

# 5. 查看当前系统有多少个用户
wc -l /etc/passwd

练习二:判断题

判断以下说法是否正确:

  1. /root 是 root 用户的主目录,位于 /home/root 下。( 0)
  2. /tmp 目录中的文件在系统重启后通常会被清除。( 1)
  3. /var 目录存放的是系统配置文件。( 0)
  4. /usr/bin 中存放的是用户可以使用的基本命令。(1 )
  5. /proc 目录的内容存储在硬盘上。( 0)

练习三:场景题

如果你需要完成以下任务,应该去哪个目录查找?

  1. 修改系统的 DNS 配置 → /etc/resolv.conf
  2. 查看某个程序运行出错的日志 → /var/log
  3. 找到 python3 命令的可执行文件 → /usr/bin
  4. 查看系统的 CPU 信息 → /proc/cpuinfo
  5. 清理某个用户不需要的临时文件 → /tmp
Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐