写点什么

Linux 之 cd 命令

作者:入门小站
  • 2021 年 12 月 11 日
  • 本文字数:956 字

    阅读完需:约 3 分钟

cd 命令,是 Change Directory 的缩写,用来切换工作目录。


概要

cd [-L|[-P [-e]]] [dir]
复制代码

主要用途

  • 切换工作目录至dir。其中dir的表示法可以是绝对路径或相对路径。

  • 若参数dir省略,则默认为使用者的 shell 变量HOME

  • 如果dir指定为~时表示为使用者的 shell 变量HOME.表示当前目录,..表示当前目录的上一级目录。

  • 环境变量CDPATH是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到CDPATH以便方便访问它们;如果dir/开头那么CDPATH不会被使用。

  • shopt选项cdable_vars打开时,如果dirCDPATH及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。

参数

dir(可选):指定要切换到的目录。

选项

-L (默认值)如果要切换到的目标目录是一个符号连接,那么切换到符号连接的目录。-P 如果要切换到的目标目录是一个符号连接,那么切换到它指向的物理位置目录。-  当前工作目录将被切换到环境变量OLDPWD所表示的目录,也就是前一个工作目录。
复制代码

返回值

返回状态为成功除非无法进入指定的目录。

例子

cd    cd /  cd ~  cd ..  cd ../..  cd !$
复制代码


关于切换到上一个工作目录的说明


cd -
cd ${OLDPWD}
复制代码


关于CDPATH 定义一个基础目录


> export CDPATH=.:/etc # 加了点号> mkdir /tmp/nginx> cd /tmp> cd nginx# 先找当前目录,所以当前位置在/tmp/nginx
> export CDPATH=/etc #没有加点号> mkdir /tmp/nginx> cd /tmp> cd nginx#当前位置在/etc/nginx
复制代码


如果 CDPATH 存在值,那么优先在 CDPATH 中查找并进入第一个匹配成功的,如果全部失败那么最后尝试当前目录。


关于cdable_vars


shopt -s cdable_vars
new_var='~/rumenz'
cd new_var
shopt -u cdable_vars
复制代码


如果一个目录名称在环境中没有,但是 cdable_vars 是开启的状态,如果你定义一个别名目录,那 cd 也可以识别进入这个目录。

注意

  • 该命令是 bash 内建命令,相关的帮助信息请查看help命令。

  • 建议您在编写脚本的过程中如有必要使用cd命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件这类问题的发生。


原文链接:https://rumenz.com/rumenbiji/linux-cd.html微信公众号:入门小站


linux常用命令速查手册PDF下载


3669页vim参考手册PDF下载


阿里云ECS运维Linux系统诊断PDF下载


Docker速查手册PDF下载


Linux学习笔记【强悍总结值得一看】PDF下载


shell简明教程PDF下载

发布于: 刚刚阅读数: 2
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
Linux之cd命令