linux命令_文件管理_cd_切换目录

时间:2022-05-25 12:24:51

cd (change directory)

切换到特定目录,无参数时切换至用户家目录

格式

cd [-L|[-P [-e]]] [dir]

参数说明

  • -L 将链接目录当做普通目录,默认选项
  • -P 使用物理目录,切换到链接目录所指向的目录
  • -e 与-P连用,当当前目录无法被确定时,返回非0值

特殊符号代表的目录

  1. ~ 用户家目录
    2.* . 当前目录或工作目录
  2. .. 当前目录的父目录
  3. - 上次所在的工作目录
    ※ 使用pwd 命令可以查看当前目录

返回值

如果切换目录成功,则返回0,切换目录失败则返回非0(CentOS7 为1)

使用实例

  1. 切换到家目录:cdcd ~
  2. 切换到根目录:cd /
  3. 返回值测试:当切换的对象目录不存在,或者没有访问权限的时候返回值为1,切换成功则返回0.

     [fish@localhost ~]$ cd /fish    
     bash: cd: /fish: No such file or directory
     [fish@localhost ~]$ echo $?  # 查看返回值
     1   
     [fish@localhost ~]$ cd /root/   
     bash: cd: /root/: Permission denied
     [fish@localhost ~]$ echo $?  # 查看返回值
     1
  4. -P与-L的区别测试

     [fish@localhost ~]$ #新建软连接   
     [fish@localhost ~]$ ln -s /etc/yum.repos.d/ yum
     [fish@localhost ~]$ #查看当前目录是否存在软连接
     [fish@localhost ~]$ ls -l .
     total 0
     lrwxrwxrwx. 1 fish fish 17 Dec  5 03:16 yum -> /etc/yum.repos.d/
     [fish@localhost ~]$ pwd # 当前目录
     /home/fish
     [fish@localhost ~]$ cd yum/
     [fish@localhost yum]$ pwd
     /home/fish/yum
     [fish@localhost yum]$ cd -  # 切换回原先目录
     /home/fish
     [fish@localhost ~]$ cd -L yum/   # 使用-L选项,证明默认为-L
     [fish@localhost yum]$ pwd
     /home/fish/yum
     [fish@localhost yum]$ cd -  # 切换回原先目录
     /home/fish
     [fish@localhost ~]$ cd -P yum/ # 使用-P选项,当前目录变为软连接所指向的目录
     [fish@localhost yum.repos.d]$ pwd
     /etc/yum.repos.d

补充

  1. cd 为内建命令

     [fish@localhost ~]$ type cd  # 查看命令类型
     cd is a shell builtin
  2. 查看帮助文档需要用help cd