终端入门:基础命令与文件管理 · Lesson 3 of 6

第 3 课:绝对路径与相对路径

本课目标:

  • 分清绝对路径和相对路径。
  • ~ 跳回主目录,用 .. 上移一层。
  • 根据给出的路径,预测 cd 会落在哪里。

先修条件:第 2 课(pwdlscd)。 | 上一篇 << 02 | 下一篇 04 >>

为什么 cd Documents 能用,cd /Documents 却失败?

路径是通往某个文件夹的一组方向指引。给出这组指引有两种方式。

绝对路径从文件系统的根开始,也就是整棵树的最顶端。它总是以 / 开头1。例如,/Users/alex/Documents 是一个绝对路径。无论你在哪里,它都指向同一个文件夹。

相对路径从你现在所在的位置开始。它不以 / 开头1。例如,Documents 的意思是"我当前工作目录里的 Documents 文件夹"。如果你在 /Users/alexDocuments 指向 /Users/alex/Documents。如果你在别的地方,它就指向另一个位置,或者哪里都不指。

两个快捷写法让这件事更快:

  • ~ 是你主目录的简写12
  • .. 是父目录的简写,也就是当前文件夹正上方的那个文件夹12

完整示例(跟着做)

你在 /Users/alex,并且知道文件夹树长这样:

text
/└── Users    └── alex        ├── Desktop        └── Documents            └── notes.txt

运行这些命令,观察提示符里的路径如何变化。

text
$ pwd/Users/alex$ cd Documents$ pwd/Users/alex/Documents$ cd ..$ pwd/Users/alex$ cd ~/Documents$ pwd/Users/alex/Documents

注意:

  • cd Documents 用的是从 /Users/alex 出发的相对路径。
  • cd .. 上移一层,回到 /Users/alex
  • cd ~/Documents 用的是从主目录简写出发的绝对路径。

这张图展示了文件夹树:Documents/Users/alex 里,notes.txtDocuments 里。从 Documents 出发,.. 会爬回 /Users/alex

你来试试(填空示例)

你在 /Users/alex/Documents。你想回到 /Users/alex,再进入 Desktop。填空:

text
$ cd __$ cd Desktop

答案: cd ..(或 cd /Users/alex)。

小结 + 下节课预告

你现在知道绝对路径从 / 开始,相对路径从你所在的位置开始。你还掌握了两个简写:~ 代表主目录,.. 代表父目录。第 4 课,你将不离开终端就打开文件、查看它们的内容。

Footnotes

  1. William Shotts, Learning the Shell: Navigation — https://linuxcommand.sourceforge.io/lc3_lts0020.php 2 3 4

  2. Red Hat: 8 essential Linux file navigation commands for new users — https://www.redhat.com/en/blog/Linux-file-navigation-commands 2

Exercises

01

运行 cd ~,再运行 pwd。确认打印出的路径是你的主目录。

第 1 级(热身)
Done criteria · checked locally
02

从主目录出发,进入一个子文件夹,再用一条带 .. 的 cd 命令回到主目录。例如,先进入 Documents,再用 cd .. 返回。

第 2 级(进阶)
Done criteria · checked locally