跟老男孩学Linux运维:核心系统命令实战
上QQ阅读APP看书,第一时间看更新

2.2 cd:切换目录

2.2.1 命令详解

【命令星级】 ★★★★★

【功能说明】

cd命令是“change directory”中每个单词的首字母缩写,其功能是从当前工作目录切换到指定的工作目录。

【语法格式】

cd  [option]  [dir]
cd  [选项]    [目录]

说明:

1)注意cd命令以及后面的选项和目录,每个元素之间都至少要有一个空格。

2)cd命令后面的选项和目录等参数都可以省略。默认情况下,单独执行cd命令,可切换到当前登录用户的家目录(由系统环境变量HOME定义)。

3)cd是bash shell的内置命令,查看该命令对应的系统帮助需要使用help cd。

【选项说明】

表2-3针对参数选项进行了说明。

对于这个命令,笔者在此与大家分享一些实践经验。

表2-3 cd命令的参数选项及说明

·在使用cd命令时,如果使用键盘上“Tab”键的自动补齐功能,可以提高输入速度和准确度。这个“Tab”键的自动补齐功能同样也适用于其他命令。

·要了解路径的概念,比如,相对路径是不从“/”(斜线)开始的路径,而是从当前目录或指定的目录开始,如:data/、mnt/oldboy;绝对路径是从“/”(斜线)根开始的路径,如:/data/、/mnt/oldboy。

·当需要切换到当前用户上一次所在的目录时,请使用“cd-”(注意空格);当需要切换到当前用户的家目录时,请使用“cd~”(注意空格);当需要切换到当前目录的上一级目录所在的路径时,请使用“cd..”(注意空格)。

2.2.2 使用范例

范例2-4:进入系统/etc目录(cd/etc)。

[root@oldboy ~]# pwd
/root #<==在Linux系统中,每个用户都有自己的家目录,默认情况下,用户登录系统后会进入自己的家            目录。root用户的家目录是/root,普通用户的家目录默认是/home/用户名/。
[root@oldboy ~]# cd /usr/local/      #<==切换到/usr/local/目录。
[root@oldboy local]# pwd
/usr/local                        #<==此时已经进入/usr/local目录了。

范例2-5:切换到当前目录的上一级目录(cd..)。

[root@oldboy local]# pwd
/usr/local
[root@oldboy local]# cd ..      #<==“..”等同于上一级目录名,也可以写成.“../”。
[root@oldboy usr]# pwd
/usr                        #<==此时切换到了/usr目录。

范例2-6:进入当前目录的父目录的父目录(cd../../)。

[root@ oldboy usr]# cd /usr/local/
[root@oldboy local]# pwd
/usr/local
[root@oldboy local]# cd ../../      #<==退到当前目录的上两级目录,即退到“/”目录。
[root@oldboy /] # pwd
/

提示:只要目录有足够多的层次,可以一直这样继续下去“cd../../../..”,直到退到“/”为止。

范例2-7:返回当前用户上一次所在的目录(cd-)。

[root@oldboy /]# cd /usr/local/
[root@oldboy local]# pwd
/usr/local
[root@oldboy local]# cd      #<==cd命令不接收任何参数时,从环境变量HOME获取路径名,即切换到
                            当前用户家目录。
[root@oldboy ~]# pwd      #<==当前用户的工作路径为/root。
/root
[root@oldboy ~]# cd -      #<==执行“cd -”时,cd将根据环境变量OLDPWD的对应值获取路径名,
/usr/local                  #<==即切换到了当前用户上一次的工作路径“/usr/local”。

范例2-8:进入当前用户的家目录(cd~)。

[root@oldboy /]# cd /usr/local/
[root@oldboy local]# pwd
/usr/local
[root@oldboy local]# cd ~      #<==“~”键盘左上角Esc键下方的波浪符号,代表家目录。
[root@oldboy ~]# pwd
/root                  #<==切换到当前用户的家目录了。

提示:执行不带任何参数的cd命令和“cd~”的结果一样。