Linux 命令按照来源方式,可分为两种,分别是 Shell 内置命令和外部命令。所谓 Shell 内置命令,就是 Shell 自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,所以会有命令的执行文件。Linux 中的绝大多数命令是外部命令,而 cd 命令是一个典型的 Shell 内置命令,所以 cd 命令没有执行文件所在路径。
cd 命令的基本格式如下:
[root@localhost ~]# cd [相对路径或绝对路径]
除此之外,cd 命令后面可以跟一些特殊符号,表达固定的含义,如表 1 所示:
特殊符号 作 用
~ 代表当前登录用户的主目录
~用户名 表示切换至指定用户的主目录
- 代表上次所在目录
. 代表当前目录
.. 代表上级目录
它们的用法分别是:
[root@localhost vbird]# cd ~
#表示回到自己的主目录,对于 root 用户,其主目录为 /root
[root@localhost ~]# cd
#没有加上任何路径,也代表回到当前登录用户的主目录
[root@localhost ~]# cd ~vbird
#代表切换到 vbird 这个用户的主目录,亦即 /home/vbird
[root@localhost ~]# cd ..
#表示切换到目前的上一级目录,亦即是 /root 的上一级目录的意思;
需要注意的是,在 Linux 系统中,根目录确实存在 .(当前目录)以及 ..(当前目录的父目录)两个目录,但由于根目录是最顶级目录,因此根目录的 .. 和 . 的属性和权限完全一致,也就是说,根目录的父目录是自身。
[root@localhost /]# cd -
#表示回到刚刚的那个目录
如果你仔细观察的话,不难发现,其实在 [root@localhost ~] 中,就已经指明了当前所在的目录,通常刚登陆时会位于自己的主目录中,而 ~ 就表示主目录,因此也就有了通过使用 cd ~ 可以回到自己的主目录。