Linux(Centos 7.6)命令详解:cd
1.命令作用
改变当前工作目录(change directory)
2.命令语法
usage: cd [-L|[-P [-e]]] [dir]
3.参数详解
- -L,当目标路径是符号链接时,强制使用符号链接,默认情况下就是这样。
- -P,使用物理路径代替符号链接。
- -e,在使用
-P
参数时,如果目标位置无法正确指定,会返回非0值,常用于脚本里面做判断使用。
4.常用用例
1.-L参数使用,查看根目录(/)内容,bin目录是一个链接,链接到/usr/bin目录,cd切换到/bin目录,使用pwd查看当前目录是/bin目录,使用-L参数效果一样。
[root@localhost ~]# ll /
total 36
lrwxrwxrwx. 1 root root 7 Dec 13 00:58 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Dec 13 01:06 boot
drwxr-xr-x. 19 root root 3260 Jan 4 19:56 dev
drwxr-xr-x. 142 root root 8192 Dec 19 00:55 etc
drwxr-xr-x. 3 root root 18 Dec 13 01:05 home
lrwxrwxrwx. 1 root root 7 Dec 13 00:58 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Dec 13 00:58 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 3 root root 16 Dec 13 01:02 opt
dr-xr-xr-x. 192 root root 0 Jan 4 19:56 proc
dr-xr-x---. 15 root root 4096 Jan 4 19:57 root
drwxr-xr-x. 39 root root 1220 Jan 4 19:56 run
lrwxrwxrwx. 1 root root 8 Dec 13 00:58 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Jan 4 19:56 sys
drwxrwxrwt. 21 root root 12288 Jan 4 20:19 tmp
drwxr-xr-x. 13 root root 155 Dec 13 00:58 usr
drwxr-xr-x. 21 root root 4096 Dec 13 01:06 var
[root@localhost ~]# cd /bin
[root@localhost bin]# pwd
/bin
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]#
[root@localhost bin]# cd -L /bin
[root@localhost bin]# pwd
/bin
[root@localhost bin]#
2.-P参数使用,如上进入链接目录/bin目录,使用pwd查看可以看到当前目录是物理目录/usr/bin。
[root@localhost bin]# cd -P /bin
[root@localhost bin]# pwd
/usr/bin
[root@localhost bin]#
3.-e参数使用,-e不是一个标准的参数,脚本里面可像如下一样使用,用于判断目录是否存在。
[root@localhost test]# cat test.sh
#/bin/bash
if [[ -e "/opt/test/Dir1" ]]; then
cd /opt/test/Dir1
ls -la
echo 0
else
echo 1
fi
[root@localhost test]# sh test.sh
total 0
drwxr-xr-x. 2 root root 6 Jan 4 20:30 .
drwxr-xr-x. 3 root root 46 Jan 4 20:57 ..
0
[root@localhost test]#
4.其他常用用法
cd # 切换到当前用户的家目录
cd ~ # 切换到当前用户的家目录
cd $HOME # 切换到当前用户的家目录
cd / # 切换到根目录
cd - # 切换到上次切换前的目录
cd . # 切换到当前目录(目录位置未改变)
cd .. # 切换到当前目录上一级目录