cd命令是Linux中最常用的命令之一,因为它用于更改目录(最基本的命令行操作之一)。 虽然大多数用户限制了cd的基本用法,但该工具还提供了许多其他功能。
在本教程中,我们将详细讨论cd命令。 请注意,这里提到的所有示例和说明都已在Ubuntu 16.04上进行了测试。
1.如何更改当前目录?
您可以通过将新目录指定为cd命令的参数来轻松更改当前工作目录:
$ cd [directory-name]
根据您所在的位置和要切换到哪个目录,您可能必须指定后者的绝对路径及其名称。
例如,假设您在您的主目录中,并且要切换到桌面目录(通常位于前面的目录中),那么您需要运行以下命令:
$ cd Desktop
如上图所示,第一个命令显示主目录为当前工作目录。 然后, cd命令用于切换到桌面。 目录中的更改使用pwd命令进行了验证。
2.如何使用cd命令快速切换到home目录
该工具允许您快速切换到您的主目录,无论您当前的位置(或当前工作目录)如何。 这可以用cd命令使用波形符号( 〜 )来完成。
$ cd ~
如上图所示,用户位于Downloads目录的子目录中。 但是使用'cd〜'命令后,主目录就成为当前的工作目录。
请注意,如果$ HOME环境变量设置为您的主目录路径,则只运行cd命令(没有任何参数)也将带您进入您的主目录。
3.如何快速切换到以前的工作目录
该工具还允许您快速切换到上一个工作目录。 可以使用cd -命令访问此功能。
$ cd -
例如:假设如果您经常在两个目录之间切换,那么我们来说Desktop和一个子目录在Downloads目录下。
然后,在切换目录时,每次都不要提及绝对路径或相对目录路径,您可以使用直接将您转到以前工作目录的cd -命令。
如何使cd不遵循符号链接
默认情况下, cd命令遵循符号链接 。 例如,如下面的屏幕截图所示,我们有一个名为symlink的符号链接 ,指向符号目录。
现在,当您运行cd命令时,默认情况下它遵循符号链接。
但是,如果您希望cd将您移动到符号链接的物理位置,则必须使用-P命令行选项。
$ cd -P [symbolic link-name]
例如:
$ cd -P symlink
正如你在上面的截图中看到的那样,使用-P选项,我们转到了符号链接的物理位置。
什么是CDPATH以及如何使用它
CDPATH环境变量可用于定义cd命令的基本目录。
例如,在之前的一个选项中,我们讨论了“cd〜”命令,它迅速将您从系统的任何位置带到主目录。 以同样的方式,如果要快速切换到任何其他特定目录,而不考虑当前位置,可以通过使用CDPATH环境变量定义基本目录来实现此目的。
假设你主要在一个特定的目录中工作(比如说桌面),但是经常在多个目录之间切换。 您可能使用cd ..,cd〜或绝对路径等来切换目录。 虽然这种方法本身并没有错误,但您可以通过使用CDPATH环境变量来简化任务(返回桌面) - 在这种情况下,您只需运行“cd Desktop”即可 。
为此,您必须设置/ home / youcl作为您的基本目录:
$ export CDPATH =/home/youcl
现在,您可以轻松快速地切换到/ home / youcl下的目录,包括Desktop。 以下是一个例子:
如上图所示,第一个命令显示用户驻留在Downloads目录的一个子目录中。 但是通过使用'cd Desktop'命令,用户可以直接切换到标准的Desktop目录(位于主目录中)。
6.如何设置路径的昵称
该工具还允许您为路径设置昵称,方便您在命令行中访问它。 这可以通过使用cdable_vars变量来完成。 如果设置了此变量,则cd命令不是目录的参数被假定为变量的名称,该变量的值是要更改的目录。
要使用此功能,首先我们必须通过在终端上运行以下命令来设置'cdable_vars':
$ shopt -s cdable_vars
要检查是否设置了cdable_vars,请运行以下命令:
$ shopt
现在,您可以定义一个包含要为其设置昵称的路径的变量
$ [variable-name] = [path-to-destination-directory]
这是一个工作示例:
$ htf= /home/youcl/Downloads/screencasting-tools
假设您正在开发一个项目,并且该项目在每个级别都有子目录,并且您经常需要一次又一次地在这些目录之间切换。 现在,从子目录位置一次又一次地切换到基本目录可能会有点耗时。 这是“cdable_vars”来拯救的情况之一。
7.如何使用单一命令创建目录并切换到目录
如果需要,您可以创建一个目录,并使用单个命令移动到该目录。 为此,请运行以下命令:
$ mkdir [dir-name] && cd $_
例如:
$ mkdir youcl && cd $_
您可能已经知道, &&操作符用于执行多个命令, $ _扩展到上一个命令的最后一个参数。
8.如何创建一个名为“ - ”的目录并切换到它
正如我们在本教程前面已经讨论的那样,与cd命令一起使用的' - '符号将带您进入上一个工作目录。 但是,如果要以“ - ”作为其名称切换到目录怎么办? 不要担心,您可以使用相对路径执行此操作:
$ cd ./-
结论
在本教程中,我们试图介绍cd命令提供的大部分功能。 所以,如果你尝试我们在这里解释过的所有例子,你会得到一个关于这个工具的好主意。 有关其他功能和细节,请访问该工具的手册页(或运行'info cd'或'help cd'命令)。