cd

cd

切换用户当前工作目录。

概要

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 -
# 命令会首先显示要切换到的目标目录,然后再进入。
cd ${OLDPWD}
# 命令会直接切换到上一个工作目录。

关于CDPATH

# 设置桌面文件夹作为CDPATH的值。
CDPATH='~/Desktop'
# 假设我们接下来要演示涉及到的路径~和~/Desktop下没有test3文件夹,现在新建它们。
mkdir ~/test3
mkdir ~/Desktop/test3
# 进入~目录。
cd ~
# 进入test3目录。
cd test3
# 执行后显示~/Desktop/test3并进入该目录,而不是~目录的test3目录。
# 如果CDPATH存在值,那么优先在CDPATH中查找并进入第一个匹配成功的,如果全部失败那么最后尝试当前目录。

关于cdable_vars

# 打开选项。
shopt -s cdable_vars
# 假设当前路径以及CDPATH没有名为new_var的目录。
new_var='~/Desktop'
# 尝试进入。
cd new_var
# 关闭选项。
shopt -u cdable_vars

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。
  2. 建议您在编写脚本的过程中如有必要使用cd命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件这类问题的发生。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/cd/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 7日 下午6:51
下一篇 2023年 12月 7日 下午6:51

相关推荐

  • unrar

    文章目录unrar语法安装选项SWITCHES 开关设置参数实例 unrar 解压rar文件命令,从 rar 压缩包中提取文件 语法 unrar [选项][switch 命令] […

    入门教程 2024年 3月 11日
  • mysqlshow

    文章目录mysqlshow补充说明语法选项参数 mysqlshow 显示MySQL中数据库相关信息 补充说明 mysqlshow命令 用于显示mysql服务器中数据库、表和列表信息…

    入门教程 2024年 1月 3日
  • HTTP 状态码

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)…

    2023年 5月 14日
  • eject

    文章目录eject补充说明语法选项参数 eject 用来退出抽取式设备 补充说明 eject命令 用来退出抽取式设备。若设备已挂入,则eject命令会先将该设备卸除再退出。 eje…

    入门教程 2023年 12月 14日
  • pstree

    文章目录pstree补充说明语法选项实例 pstree 以树状图的方式展现进程之间的派生关系 补充说明 pstree命令 以树状图的方式展现进程之间的派生关系,显示效果比较直观。 …

    入门教程 2024年 3月 1日
  • rpmsign

    文章目录rpmsign补充说明语法选项 rpmsign 使用RPM软件包的签名管理工具 补充说明 rpmsign命令 使用rpm软件包的签名管理工具。 语法 rpmsign(选项)…

    入门教程 2024年 3月 4日
  • watch

    文章目录watch补充说明语法选项参数实例 watch 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令 补充说明 watch命令 以周期性的方式执行给定…

    入门教程 2024年 1月 3日
  • 结构体

    文章目录结构体什么是结构体?结构体的声明定义具名结构体变量定义匿名结构体变量结构体变量的 0 值访问结构体中的字段结构体的指针匿名字段嵌套结构体(Nested Structs)提升…

    2023年 12月 5日
  • prtstat

    文章目录prtstat补充说明语法例子注意 prtstat 显示进程信息 补充说明 prtstat命令打印指定进程的统计信息。这个信息来自/proc/PID/stat文件。 语法 …

    入门教程 2024年 3月 1日
  • mount

    文章目录mount补充说明语法选项实例1实例2实例3 mount 用于挂载Linux系统外的文件 补充说明 mount命令 Linux mount命令是经常会使用到的命令,它用于挂…

    入门教程 2024年 1月 3日
Translate »