网站首页 > 开源技术 正文
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命令时,请增加必要的注释以用于提醒阅读者当前工作目录,以免出现诸如找不到文件这类问题的发生。
猜你喜欢
- 2024-10-03 Linux下执行system(“cd /某个目录“),为什么路径切换不成功?
- 2024-10-03 linux cd主目录区别(linux cdrom目录)
- 2024-10-03 Linux学习总结4(linux学到了什么知识点)
- 2024-10-03 Linux磁盘分区及文件系统格式化和挂载
- 2024-10-03 linux学习9,查看源码全靠它了,五分钟把vim打造成代码阅读神器
- 2024-10-03 小猿圈学习Linux之shell脚本中cd命令无效的解决方法
- 2024-10-03 探索Linux的神秘世界:CD和LS命令的使用宝典
- 2024-10-03 Linux系统上挂载CD-ROM系统镜像和iso文件作为yum本地仓库
- 2024-10-03 Linux下简单几步安装AI开发环境-ROS(超有意思)
- 2024-10-03 Linux环境下的持续集成/持续部署(CI/CD)实践
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)