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命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件这类问题的发生。