教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Linux培训:cd命令切换目录

更新时间:2019年04月02日15时18分 来源:传智播客linux培训机构 浏览次数:

    cd 是切换所在目录的命令,这个命令的基本信息如下。
》》》传智播客linux培训班,带你从新手到大神,咨询右下角窗口咨询开班时间《《《
传智播客linux培训

    命令名称:cd。

    英文原意:change directory。
    所在路径:Shell 内置命令。
    执行权限:所有用户。
    功能描述:切换所在目录。
    Linux 的命令按照来源方式分为两种:Shell 内置命令和外部命令。所谓 Shell 内置命令,就是 Shell 自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,是命令,所以会有命令的执行文件。Linux 中的绝大多数命令是外部命令,而 cd 命令是一个典型的 Shell 内置命令,所以 cd 命令没有执行文件所在路径。

    命令格式

    [root@localhost ~]#cd [目录名]
    cd 命令是非常简单的命令,仅有的两个选项 -P 和 -L 的作用非常有限,很少使用:
    -P(大写)是指如果切换的目录是软链接目录,则进入其原始的物理目录,而不是进入软链接目录;-L(大写)是指如果切换的目录是软链接目录,则直接进入软链接目录。

    常见用法

    【例 1】基本用法
    cd 命令切换目录只需在命令后加目录名称即可。例如:
    [root@localhost ~]# cd /usr/local/src/
    [root@localhost src]#
    #进入/usr/local/src/ 目录
    通过命令提示符,我们可以确定当前所在目录已经切换。
    【例 2】简化用法
    cd 命令可以识别一些特殊符号,用于决速切换所在目录,这些符号如表 1 所示。
    表 1 cd 命令的特殊符号
特殊符号 作 用
~ 代表用户的家目录
- 代表上次所在目录
. 代表当前目录
.. 代表上级目录
    这些简化用法以加快命令切换,我们来试试。
    [root@localhost src]# cd ~
    [root@localhost ~]#
    "cd~"命令可以快速回到用户的家目录,cd 命令直接按回车键也是快速切换到家目录。
    [root@localhost~]#cd /etc/
    [root@localhost etc]#cd
    [root@localhost ~]#
    # 直接使用 cd 命令,也回到了家目录。
    再试试"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/ 目录。
    再来试试"."和".."。
    [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
    #这个命令不会有目录的改变,只是告诉大家"."代表当前目录。
    绝对路径和相对路径
    cd 命令本身不难,但有两个非常重要的概念,就是绝对路径和相对路径。初学者由于对字符界面不熟悉,所以有大量的错误都是因为对这两个路径没有搞明白,比如进错了目录、打开不了文件、打开的文件和系统文件不一致等。所以我们先来区分一下这两个路径。
    首先,我们先要弄明白什么是绝对、什么又是相对。其实我们一直说现实生活中没有绝对的事情,没有绝对的大,也没有绝对的小;没有绝对的快,也没有绝对的慢。这只是由于参照物的不同或认知的局限,导致会暂时认为某些东西可能是绝对的、不能改变的。比如目前我们认为光速是最快的速度,我们不能突破光速的限制。但也有可能随着技术的进步,我们会突破这一限制。
    但在 Linux 的路径中是有绝对路径的,那是因为 Linux 有最高目录,也就是根目录。如果路径是从根目录开始,一级一级指定的,那使用的就是绝对路径。例如:
    [root@localhost ~]# cd /usr/local/src/
    [root@localhost src]# cd /etc/rc.d/init.d/这些切换目录的方法使用的就是绝对路径。所谓相对路径,就是只从当前所在目录开始,切换目录。例如:
    [root@localhost /]# cd etc/
    #当前所在路径是/目录,而/目录下有etc目录,所以可以切换[root@localhost etc]# cd etc/
    -bash:cd:etc/:没有那个文件或目录
    #而同样的命令,由于当前所在目录改变了,所以就算是同一个命令也会报错,除非在/etc/目录中还有一个etc目录所以,虽然绝对路径输入更加烦琐,但是更准确,报错的可能性也更小。对初学者而言,笔者还是建议大家使用绝对路径。本教程为了使命令更容易理解,也会尽量使用绝对路径。
    再举个例子,假设我当前在 root 用户的家目录中。
    [root@localhost ~]#
    那么,该如何使用相对路径进入 /usr/local/src/ 目录中呢?
    [root@localhost ~]# cd ../usr/local/src/
    从我当前所在路径算起,加入".."代表进入上一级目录,而上—级目录是根目录,而根目录中有 usr 目录,就会一级一级地进入 src 目录了。
CD命令切换目录