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 ..
需要注意的是,在 Linux 系统中,根目录确实存在 .(当前目录)以及 ..(当前目录的父目录)两个目录,但由于根目录是最顶级目录,因此根目录的 .. 和 . 的属性和权限完全一致,也就是说,根目录的父目录是自身。
#表示切换到目前的上一级目录,亦即是 /root 的上一级目录的意思; -
[root@localhost /]# cd -
#表示回到刚刚的那个目录
如果你仔细观察的话,不难发现,其实在 [root@localhost ~] 中,就已经指明了当前所在的目录,通常刚登陆时会位于自己的主目录中,而 ~ 就表示主目录,因此也就有了通过使用
cd ~
可以回到自己的主目录。【例 1】学习 cd - 的用法。
[root@localhost ~]# cd /usr/local/src
#进入/usr/local/src目录
[root@localhost src]# cd -
/root
[root@localhost ~]#
#"cd -"命令回到进入 src 目录之前的主目录
[root@localhost ~]# cd -
/usr/local/src
[root@localhost src]#
#再执行一遍"cd -"命令,又回到了 /usr/local/src 目录
【例 2】学习 cd . 和 cd .. 的用法。
[root@localhost ~]# cd /usr/local/src
#进入测试目录
[root@localhost src]# cd ..
#进入上级目录
[root@localhost local]# pwd
/usr/local
#pwd是査看当前所在目录的命令,可以看到我们进入了上级目录 /usr/local
[root@localhost local]# cd .
#进入当前目录
[root@localhost local]# pwd
/usr/local
#这个命令不会有目录的改变,只是告诉大家"."代表当前目录