文件系统是一棵树
约 1004 字大约 3 分钟
2026-09-30
图形界面中的文件管理器和终端看到的是同一个文件系统。在文件管理器中,你通过双击文件夹改变位置;在终端中,你使用路径表达位置,使用命令查看或改变位置。
从根目录 / 开始
Linux 的文件系统是一棵树。最顶端是根目录,写作 /。其它文件和目录都直接或间接地位于 / 之下。
home
alice
…
student
Documents
…
projects
demo
…
usr
bin
…
etc
…
dev
…
proc
…
tmp
…
上面的加粗项表示当前用户 student 的主目录。
上图中的 demo 可以用完整路径表示为:
/home/student/projects/demo路径中的 / 既可以表示最顶端的根目录,也可以作为各级目录之间的分隔符。
常见的系统目录
初学时不必记住 Linux 的全部目录。下面这些名称最常见:
| 目录 | 主要用途 |
|---|---|
/home | 普通用户的个人目录。例如,用户 student 的主目录通常是 /home/student |
/usr/bin | 存放大量可以运行的程序,例如 ls 和 python3 |
/etc | 存放系统和软件的配置文件 |
/dev | 将硬盘、终端等设备表示为特殊文件 |
/proc | 展示进程和内核的运行信息,不是硬盘上的普通目录 |
/tmp | 存放临时文件,内容可能被系统自动清理 |
普通用户的大多数文件都应该放在自己的主目录中。没有明确原因时,不要修改 /etc、/usr、/dev 等系统目录中的内容。
当前工作目录
Shell 始终把某个目录视为当前工作目录。后续命令中没有写完整路径时,Shell 会以这里为起点理解路径。
三个最基本的目录命令是:
| 命令 | 含义 | 示例 |
|---|---|---|
pwd | 显示当前工作目录 | pwd |
ls | 列出目录中的内容 | ls /home |
cd | 改变当前工作目录 | cd /home/student |
如果 pwd 输出 /home/student,可以把它理解为“你现在站在文件系统树的 /home/student 节点上”。ls 查看这个节点下面有什么,cd 则移动到另一个节点。
绝对路径和相对路径
绝对路径从根目录 / 开始,完整说明目标的位置。无论当前工作目录在哪里,它都指向同一个地方。
/home/student/projects/demo相对路径不以 / 开头。它从当前工作目录出发,说明如何到达目标。
假设当前工作目录是 /home/student,下面两个路径指向同一个目录:
| 类型 | 写法 | Shell 的理解方式 |
|---|---|---|
| 绝对路径 | /home/student/projects/demo | 从根目录开始寻找 |
| 相对路径 | projects/demo | 从当前目录 /home/student 开始寻找 |
常见的路径简写如下:
| 符号 | 含义 | 示例 |
|---|---|---|
. | 当前目录 | ./hello 表示当前目录中的 hello |
.. | 当前目录的上一级 | ../notes 表示上一级目录中的 notes |
~ | 当前用户的主目录 | ~/projects 通常表示 /home/用户名/projects |
在前面的目录树中,如果当前工作目录是加粗的 /home/student,那么:
- 从最顶端的
/开始写,得到绝对路径/home/student/projects/demo。 - 从当前位置开始写,得到相对路径
projects/demo。
两种写法指向目录树中的同一个 demo 目录。
判断路径的简单方法
先看第一个字符:以 / 开头的是绝对路径,以 ~ 开头的是从主目录出发,其它写法通常是相对路径。
文件名的几个规则
- Linux 区分大小写,
Report.txt和report.txt是两个不同的文件。 - 以
.开头的文件默认会被隐藏,例如.bashrc。使用ls -a可以显示它们。 - 文件名可以包含空格,但在命令中需要使用引号,例如
cd "My Projects"。为了减少麻烦,程序项目通常使用短横线或下划线代替空格。 - 输入路径时可以按
Tab键自动补全。它既能提高速度,也能减少拼写错误。
贡献者
更新日志
65efd-docs(linux): add introductory Linux guide于
