简介
“cd” 命令来源于 “change directory”,即 “切换目录”。它是一个用于在 Linux 和 Unix 系统的命令行中更改当前工作目录的命令。通过使用 cd 命令,用户可以在文件系统的不同位置移动,这对于浏览文件系统或定位到特定文件进行操作非常重要。
使用方式
cd [选项] [目录路径]
常用参数
-L
:遵循逻辑链接。当执行 cd 时,如果遇到符号链接,就会进入符号链接指向的路径。这是 cd 的默认行为。-P
:遵循物理目录。与 -L 相反,这个选项会使 cd 进入符号链接所指向的实际物理位置。-e
:当指定目录不存在时,会返回一个错误。这对于编写脚本来说是非常有用的,因为它可以捕获目录不存在的情况。-
:切换至上次所在的目录。~
:切换至用户 home 目录。..
:切换至上级目录,可以同时使用多次,以 / 分隔。--help
:显示帮助信息。
参考示例
1.切换到指定目录
jay@jaylinuxlenovo:~/test$ cd cmds
jay@jaylinuxlenovo:~/test/cmds$
2. 切换到当前用户 home 目录
jay@jaylinuxlenovo:~/test/cmds$ cd ~
jay@jaylinuxlenovo:~$
3. 切换到上一级目录
jay@jaylinuxlenovo:~/test/cmds$ cd ..
jay@jaylinuxlenovo:~/test$
4.切换到上两级目录
jay@jaylinuxlenovo:~/test/cmds$ cd ../..
jay@jaylinuxlenovo:~$
5.切换到上一次所在的目录
jay@jaylinuxlenovo:~$ cd -
/home/jay/test/cmds
jay@jaylinuxlenovo:~/test/cmds$
6. 切换到符号链接的目录
jay@jaylinuxlenovo:~/test$ ls -l | grep nginx
lrwxrwxrwx 1 jay jay 11 Dec 24 16:20 nginx -> /etc/nginx/
jay@jaylinuxlenovo:~/test$ cd -L nginx
jay@jaylinuxlenovo:~/test/nginx$
此处通过 ls
命令结合 grep
命令可以看出当前目录下的 nginx 实际上指向的是 /etc/nginx
目录。在使用 -L 选项后 cd 进入的仍然是当前目录下的 nginx 目录。
7.切换到符号链接所指向的物理链接的目录
jay@jaylinuxlenovo:~/test$ cd -P nginx
jay@jaylinuxlenovo:/etc/nginx$
与上例对比可知,使用了 -P 选项后 cd 会进入符号链接所指向的实际目录中,而不是当前目录下符号链接的目录。
注意事项
- 当使用 cd 命令时,确保提供的路径是正确的。如果路径不存在或者拼写错误,将会显示错误信息。
- cd 仅改变工作目录,不会影响系统中的文件或目录结构。
- 在脚本中使用 cd 时,记得检查目录切换是否成功,以避免后续命令在错误的目录下执行。