Linux cd命令使用详解
cd命令 将当前的工作目录切换至DIR
,DIR
可以表示为绝对路径或者相当路径,如果没有指定DIR
的值,则默认切换的用户的home
目录。
另外~
也将扩展为当前用户的home
目录, .
表示当前目录,..
表示当前目录的父目录。
可以定义CDPATH
变量来控制查找DIR
的目录,在CDPATH
中的目录使用冒号(:
)进行分割,如果不含有任何目录的话,则表示是当前目录,如果DIR
以/
开始,则CDPATH
不使用。
如果没有找到目录,并且设置了shell选项cdable_vars
,则它的值将作为一个变量名,如果这个变量有一个值得的话,这个值将会作为DIR
。
当仅实用”-“一个选项时,当前工作目录将被切换到环境变量”OLDPWD”所表示的目录。
用法
1 | cd [-L|[-P [-e]]] [DIR] |
选项
选项 | 说明 |
---|
- | 当前工作目录将被切换到环境变量OLDPWD所表示的目录,也就是前一个工作目录
-L | 强制跟随符号链接(默认的)
-P | 使用物理目录结构而不跟随符号链接
-e | 如果应用了-P
,并且切换工作目录不成功,那么退出时返回一个非0的退出状态
默认状态下,是跟随符号链接的,同指定了-L
选项
退出
如果目录成功切换并且当使用了-P
, $PWD
成功的设置,则返会0,否则返回非0值
主要用途
- 切换工作目录至
dir
。其中dir
的表示法可以是绝对路径或相对路径。 - 若参数
dir
省略,则默认为使用者的shell变量HOME
。 - 如果
dir
指定为~
时表示为使用者的shell变量HOME
,.
表示当前目录,..
表示当前目录的上一级目录。 - 环境变量
CDPATH
是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到CDPATH
以便方便访问它们;如果dir
以/
开头那么CDPATH
不会被使用。 - 当
shopt
选项cdable_vars
打开时,如果dir
在CDPATH
及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。
实例
1 | 跳转到Home |
关于切换到上一个工作目录的说明
1 | cd - |
关于CDPATH
1 | # 设置桌面文件夹作为CDPATH的值。 |
关于cdable_vars
1 | # 打开选项。 |
注意
- 该命令是bash内建命令,相关的帮助信息请查看
help
命令。 - 建议您在编写脚本的过程中如有必要使用
cd
命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件
这类问题的发生。