Linux之cd命令
cd 命令,是 Change Directory 的缩写,用来切换工作目录。
特殊符号
作 用
~
代表当前登录用户的主目录
~用户名
表示切换至指定用户的主目录
-
代表上次所在目录
.
代表当前目录
..
代表上级目录概要cd [-L|[-P [-e]]] [dir] 主要用途切换工作目录至 dir 。其中dir 的表示法可以是绝对路径或相对路径。若参数 dir 省略,则默认为使用者的 shell 变量HOME 。如果 dir 指定为~ 时表示为使用者的 shell 变量HOME ,. 表示当前目录,.. 表示当前目录的上一级目录。环境变量 CDPATH 是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到CDPATH 以便方便访问它们;如果dir 以/ 开头那么CDPATH 不会被使用。当 shopt 选项cdable_vars 打开时,如果dir 在CDPATH 及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。参数
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 微信公众号:入门小站
cd 命令,是 Change Directory 的缩写,用来切换工作目录。
特殊符号
作 用
~
代表当前登录用户的主目录
~用户名
表示切换至指定用户的主目录
-
代表上次所在目录
.
代表当前目录
..
代表上级目录概要cd [-L|[-P [-e]]] [dir] 主要用途切换工作目录至 dir 。其中dir 的表示法可以是绝对路径或相对路径。若参数 dir 省略,则默认为使用者的 shell 变量HOME 。如果 dir 指定为~ 时表示为使用者的 shell 变量HOME ,. 表示当前目录,.. 表示当前目录的上一级目录。环境变量 CDPATH 是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到CDPATH 以便方便访问它们;如果dir 以/ 开头那么CDPATH 不会被使用。当 shopt 选项cdable_vars 打开时,如果dir 在CDPATH 及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。参数
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 命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件 这类问题的发生。