cd命令是Linux中最常用的命令之一,它用于切换目录(最基本的命令行操作之一)。但是大多数用户都只限于cd的基本用法,其实这工具还提供了许多其他非常有用的小操作。
下面就让我们一起温故一下这个命令吧。注意,下面提到的所有示例和说明都在Ubuntu 16.04上进行了测试。
1. cd 如何切换你的当前目录?
将新目录作为cd命令的参数,就可以切换到目录:
$ cd [directory-name]
假设你正在你的主(home)目录,然后你想要切换到‘Desktop’(在主目录的里面)目录,那么你要运行的具体命令如下:
$ cd Desktop
正如您在上面的截图中所看到的,第一个命令显示当前工作目录。然后,使用cd命令来切换到‘Desktop’。使用pwd命令可以对目录的切换进行验证。
2. cd 如何快速的切换到主目录?
该命令可以让您快速切换到主目录,不管您当前所在的目录。这可以通过使用cd命令加破浪符号(~)来完成。
$ cd ~
正如您在上面的截图中所看到的,用户原先并不在主目录中。但是在使用“cd ~”命令之后,当前目录切换到了主目录。
注意,如果$HOME环境变量被设置为您的主目录路径,那么仅仅运行cd命令(没有任何参数)也会将带您到您的主目录。
3. cd 如何快速的切换到上一个工作目录
该命令还允许您快速的切换到以前的工作目录。这个操作可以通过使用cd –命令来完成。
$ cd -
如上图所示,一开始我们在“/root/ethereum/soft/Mist-linux64-0-11-1”目录,后来我们切换到了主目录,接下来我们使用cd –命令,又切换回了“/root/ethereum/soft/Mist-linux64-0-11-1”目录
4. cd 怎么才能不切换到软链接目录
默认情况下,这cd命令会切换到软链接的目录,而不是真正的物理目录。如下图:
如果你想要切换到真正的物理目录,那么你可以使用-P 选项:
$ cd -P [symbolic link-name]
例如:
$ cd -P symlink
如上图所示,加上-P 选项后,我们切换到了真正的物理目录。
5. CDPATH是什么 ,它有什么用?
CDPATH环境变量可用于为cd命令定义基本目录。
在前面,我们使用‘cd ~’目录,可以从任何目录切换到用户的主目录。
同样地,如果您想要快速切换到任何其他特定的目录,不管您当前的位置是什么,您可以通过使用CDPATH环境变量来定义一个基本目录来做到这一点。如:
$ export CDPATH=/root
现在,我们可以在任何目录,快速的切换到/root下的目录了,如下图:
从图中我们可以看到,我们原先在/var/log 目录,运行cd Desktop 后,直接切换到了/root/Desktop目录。
6. 如何创建一个目录,然后直接进入这个目录?
如果您愿意,您可以创建一个目录,并使用单个命令进入到该目录。要做到这一点,请运行以下命令:
$ mkdir [dir-name] && cd $_
如:mkdir htf && cd $_
正如您可能已经知道的,&&运算符用于执行多个命令,$_代表前面命令的最后一个参数。
7. 如何创建一个名字是 ‘-’的目录,然后切换进去?
正如我们在本教程中已经讨论过的,与cd命令一起使用的“-”符号将带您到前面的工作目录。但是,如果您想要切换到名字是“-”的目录呢?不要担心,你可以通过使用相对路径来做到这一点:
$ cd ./-
如下图所示:
总结
在本教程中,我们尝试覆盖cd命令提供的大部分功能。所以,如果你尝试了一下我们在这里解释的所有例子,你会对这个工具会有一个很好的了解。关于其他功能和细节,请访问工具的手册页(或运行“info cd”或“help cd”命令)。