我们学会了如何敲击键盘输入指令,接下来要掌握的,就是在我们 Linux 系统的文件世界里自由穿行。想象一下,你得到了一张藏宝图,要想到达目的地,首先得学会看懂地图,知道自己在哪儿,以及如何从一个地方移动到另一个地方。
在 Linux 中,我们有三个神奇的工具来帮助我们实现这一切:pwd 能告诉我们当前身在何处,cd 能带我们去往想去的地方,而 ls 则能让我们看清周围有什么东西。

在深入了解这些工具之前,我们先来聊聊 Linux 世界的地图——文件系统。和我们熟悉的 Windows 系统不同,Linux 的文件系统并不是一块块分割开的"C盘"、"D盘"。你可以把它想象成一棵巨大的、颠倒的树。
这棵树只有一个唯一的"根",我们称之为根目录(/),所有的文件和文件夹都像树枝一样,从这个根上生长出来,层层叠叠,井然有序。
无论你连接了多少块硬盘或者U盘,它们都会被"嫁接"到这棵大树的某个枝丫上,成为整个系统的一部分,而不是独立成“另一棵树”。这种设计让整个文件系统浑然一体,管理起来也更加方便。
这个图展示了Linux文件系统的典型结构。从根目录 / 开始,所有的文件和目录都像树枝一样延伸开来。
现在,让我们把自己想象成一个探险家,正置身于这座由文件和目录构成的巨大迷宫之中。在任何时刻,你都站在某一个“房间”里,这个房间就是你的“当前工作目录”。 你可以看到这个房间里存放着哪些文件,也可以看到通往楼上(父目录)的楼梯和通往楼下更多房间(子目录)的通道。
怎么知道自己现在具体在哪个房间呢?很简单,使用 pwd (Print Working Directory) 命令,它就像一个定位器,会立刻告诉你当前所在的完整路径。
|$ pwd /home/me
比如,这个输出就告诉你,你现在位于 /home/me 这个房间里。通常,你一登录系统,就会被直接带到自己的“家”——也就是你的主目录(home directory),这里是你专属的小天地,你可以在这里自由地存放和修改文件。
知道了自己的位置,下一步自然是想看看房间里都有什么。这时候 ls (list) 命令就派上用场了。它会像清单一样,列出当前房间里所有的文件和子目录。
|$ ls Desktop Documents Music Pictures Public Templates Videos
这样一来,你对周围的环境就了如指掌了。ls 的功能远不止于此,我们后续还会更深入地探索它的更多神奇用法。下面是一些 ls 的常用选项:
看完了房间里的东西,你可能想去别的房间逛逛。要实现“移动”,我们就需要 cd (Change Directory) 命令。使用方法很简单,在 cd 后面跟上你想去的目的地的“地址”,这个地址我们称为“路径”。
路径的写法有两种,我们先说第一种,叫做“绝对路径”。
绝对路径,顾名思义,就是一条从“根”出发的、完整无缺的路径。它好比一个完整的家庭住址,无论你身在何处,只要报出这个地址,邮递员总能准确无误地找到它。
在 Linux 文件系统中,这个“根”就是我们之前提到过的根目录 /。所有以 / 开头的路径都是绝对路径。
比如说,系统里有一个专门存放各种可执行程序的“工具房”,它的地址是 /usr/bin。我们可以用 cd 加上这个绝对路径,直接传送过去。
|$ cd /usr/bin [me@linuxbox bin]$ pwd /usr/bin
我们一下子就从自己的家 /home/me 来到了 /usr/bin。你会发现,命令行最前面的提示符可能也跟着变了,它通常会很贴心地显示出你当前所在的目录名,提醒你不要迷路。
绝对路径虽然精确,但有时候会显得有点啰嗦。如果我想去的房间就在隔壁,还需要从头到尾报一遍完整的地址吗?当然不用,这时我们就可以用到“相对路径”了。
相对路径是相对于你“当前所在位置”的路径。它依赖两个特殊的符号:. (一个点) 和 .. (两个点)。
. 代表你当前所在的目录.. 代表上一级目录,也就是你来时走过的那个"父目录"我们来实际感受一下。假设我们现在还在 /usr/bin 这个"工具房"里。
|[me@linuxbox bin]$ pwd /usr/bin
现在,我想回到上一层的 /usr 目录。我可以用绝对路径 cd /usr,但更省事的方法是使用相对路径:
|[me@linuxbox bin]$ cd .. [me@linuxbox usr]$ pwd /usr
cd .. 就好像在说“带我回上一层”,非常方便。
绝对路径和相对路径这两种方法殊途同归。我们应该用哪一种呢?当然是打字最少的那一种!
同样,如果我想从 /usr 再次进入 bin 目录,我既可以用绝对路径 cd /usr/bin,也可以用相对路径:
|[me@linuxbox usr]$ cd ./bin [me@linuxbox bin]$ pwd /usr/bin
这里的 ./bin 意思就是“当前目录下的 bin 目录”。不过,在大多数情况下,这个 ./ 是可以省略的。系统会默认你就是从当前目录出发。
所以,直接输入 cd bin 效果完全一样。这就像你跟朋友说“去隔壁房间”,而不是"从我现在站的这个房间出发,去隔壁房间"一样自然。
为了让你在文件系统中穿梭得更快,cd 命令还有一些方便的快捷方式:
在 Linux 中,文件和目录的命名规则非常严格,违反这些规则可能会导致意想不到的问题。
下面是一个简单的 Shell 模拟器,支持下面的一些指令,你可以随便实验一下,熟悉一下 Shell 的用法: