Linux之cd命令

举报
入门小站 发表于 2021/06/18 23:24:16 2021/06/18
【摘要】 cd 命令,是 Change Directory 的缩写,用来切换工作目录。特殊符号作 用~代表当前登录用户的主目录~用户名表示切换至指定用户的主目录-代表上次所在目录.代表当前目录..代表上级目录 概要cd [-L|[-P [-e]]] [dir] 主要用途切换工作目录至dir。其中dir的表示法可以是绝对路径或相对路径。若参数dir省略,则默认为使用者的 shell 变量HOME。如果d...

cd 命令,是 Change Directory 的缩写,用来切换工作目录。

特殊符号 作 用
~ 代表当前登录用户的主目录
~用户名 表示切换至指定用户的主目录
- 代表上次所在目录
. 代表当前目录
.. 代表上级目录

概要

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 ${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
微信公众号:入门小站

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。