Linux cd 命令初学者教程(8 个示例)
在此页
- 1。如何更改当前目录?
- 2。如何使用 cd 命令快速切换到主目录
- 3。如何快速切换到上一个目录
- 4。如何让 cd 不跟随符号链接
- 5。什么是 CDPATH 以及如何使用它
- 6。如何为路径设置昵称
- 7.如何使用单个命令创建目录并切换到该目录
- 8.如何创建名为“-”的目录并切换到该目录
- 结论
cd 命令是 Linux 中最常用的命令之一,因为它用于更改目录(最基本的命令行操作之一)和在文件系统中导航。虽然大多数用户仅限于使用 cd 的基本用法,但该工具还提供了许多其他功能。
在本教程中,我们将更详细地讨论 cd 命令。请注意,此处提到的所有示例和说明均已在 Ubuntu 22.04 上进行了测试。
1.如何更改当前目录?
您可以通过将新目录指定为 cd 命令的参数来轻松更改当前工作目录:
$ cd [directory-name]
根据您所在的位置和要切换到的目录,您可能必须指定后者的绝对路径及其名称。
例如,假设您在您的主目录中,并且您想要切换到桌面目录(通常在前者中),那么您需要运行以下命令:
$ cd Desktop

正如您在上面的屏幕截图中看到的,第一个命令将主目录显示为当前工作目录。然后,使用 cd 命令切换到桌面。使用 pwd 命令验证了目录中的更改。要转到父目录,请使用以下命令:
cd ..
2.如何使用cd命令快速切换到主目录
该工具允许您快速切换到您的主目录,而不管您当前的位置(或当前的工作目录)。这可以通过在 cd 命令中使用波浪号 (~) 来完成。
$ cd ~

如您在上面的屏幕截图中所见,用户位于下载目录的子目录之一中。但是使用cd ~命令后,home目录变成了当前的工作目录。
请注意,如果 $HOME 环境变量设置为您的主目录路径,则仅运行 cd 命令(不带任何参数)也将带您进入主目录。
3.如何快速切换到上一级目录
该工具还允许您快速切换到以前的工作目录。可以使用 cd – 命令访问此功能。
$ cd -
例如:假设如果您经常在两个目录之间切换,比如说 Desktop 和 Downloads 目录中的子目录。

然后,无需每次在切换目录时都提及绝对或相对目录路径,您可以使用 cd - 命令直接将您带到之前的工作目录。

4.如何让cd不跟随符号链接
默认情况下,cd 命令跟随符号链接。例如,您可以在下面的屏幕截图中看到,我们有一个名为 symlink 的符号链接,它指向 symbolic 目录。

现在,当您运行 cd 命令时,默认情况下它会跟随符号链接。

但是,如果您希望cd 将您移动到符号链接的物理位置,则必须使用-P 命令行选项。
$ cd -P [symbolic link-name]
例如:
$ cd -P symlink

正如您在上面的屏幕截图中看到的,通过使用 -P 选项,我们移动到了 symlink 的物理位置。
5. CDPATH 是什么以及如何使用
CDPATH 环境变量可用于为 cd 命令定义基本目录。
例如,在前面的一个选项中,我们讨论了“cd ~”命令,它可以快速将您从系统的任何位置带到主目录。同样,如果您想快速切换到任何其他特定目录而不管您当前的位置,您可以通过使用 CDPATH 环境变量定义一个基本目录来实现。
假设您主要在特定目录(比如桌面)中工作,但经常在多个目录之间切换。您可能正在使用 cd .. 、 cd ~ 或绝对路径等来切换目录。虽然这种方法本身并没有错,但您可以使用 CDPATH 环境变量轻松完成(返回桌面)任务 - 在这种情况下,您只需运行 cd Desktop。
为此,您将必须将 /home/howtoforge 设置为基本目录:
$ export CDPATH =/home/howtoforge
现在,您可以轻松快速地切换到 /home/howtoforge 下的目录,包括 Desktop。这是一个例子:

正如您在上面的屏幕截图中看到的,第一个命令显示用户驻留在下载目录的一个子目录中。但是通过使用“cd Desktop”命令,用户可以直接切换到标准桌面目录(位于主目录内)。
6.如何为路径设置昵称
该工具还允许您为路径设置昵称,使您可以轻松地在命令行上访问它。这可以通过使用 cdable_vars 变量来完成。如果设置了此变量,则 cd 命令的一个不是目录的参数被假定为变量的名称,其值是要更改到的目录。
要使用此功能,首先我们必须通过在终端上运行以下命令来设置“cdable_vars”:
$ shopt -s cdable_vars
要检查是否设置了 cdable_vars,请运行以下命令:
$ shopt
现在,您可以定义一个变量,其中包含要为其设置昵称的路径
$ [variable-name] = [path-to-destination-directory]
这是一个工作示例:
$ htf= /home/howtoforge/Downloads/screencasting-tools

假设您正在处理一个项目,并且该项目在每个级别上都有子目录,并且您经常需要在这些目录之间一次又一次地切换。现在,一次又一次地从子目录位置切换回基本目录可能会有点耗时。这是 cdable_vars 来拯救的情况之一。
7.如何创建目录并使用单个命令切换到该目录
如果需要,您可以创建一个目录并使用单个命令移动到该目录。为此,请运行以下命令:
$ mkdir [dir-name] && cd $_
例如:
$ mkdir howtoforge && cd $_

您可能已经知道,&& 运算符用于执行多个命令,$_ 扩展为上一个命令的最后一个参数。
8. 如何创建名为“-”的目录并切换到该目录
正如我们在本教程前面部分所讨论的那样,当与 cd 命令一起使用时,“-”符号会将您带到上一个工作目录。但是,如果你想切换到一个名为 - 的目录怎么办?别担心,您可以使用相对路径来做到这一点:
$ cd ./-

结论
在本教程中,我们试图涵盖 cd 命令提供的大部分功能。因此,如果您尝试我们在此处解释的所有示例,您将对该工具有一个很好的了解。有关其他功能和详细信息,请访问工具手册页(或运行 info cd 或 help cd 命令)。