parent
a93448da0a
commit
44dd34078d
|
|
@ -1,36 +1,81 @@
|
|||
cd
|
||||
===
|
||||
|
||||
切换用户当前工作目录
|
||||
切换用户当前工作目录。
|
||||
|
||||
## 补充说明
|
||||
|
||||
**cd命令** 用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,`~`也表示为home directory的意思,`.`则是表示目前所在的目录,`..`则表示目前目录位置的上一层目录。
|
||||
|
||||
### 语法
|
||||
## 概要
|
||||
|
||||
```shell
|
||||
cd (选项) (参数)
|
||||
cd [-L|[-P [-e]]] [dir]
|
||||
```
|
||||
|
||||
### 选项
|
||||
## 主要用途
|
||||
|
||||
- 切换工作目录至`dir`。其中`dir`的表示法可以是绝对路径或相对路径。
|
||||
- 若参数`dir`省略,则默认为使用者的shell变量`HOME`。
|
||||
- 如果`dir`指定为`~`时表示为使用者的shell变量`HOME`,`.`表示当前目录,`..`表示当前目录的上一级目录。
|
||||
- 环境变量`CDPATH`是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到`CDPATH`以便方便访问它们;如果`dir`以`/`开头那么`CDPATH`不会被使用。
|
||||
- 当`shopt`选项`cdable_vars`打开时,如果`dir`在`CDPATH`及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。
|
||||
|
||||
## 参数
|
||||
|
||||
dir(可选):指定要切换到的目录。
|
||||
|
||||
## 选项
|
||||
|
||||
```shell
|
||||
-p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录
|
||||
-L 如果要切换的目标目录是一个符号的连接,直接切换到字符连接名代表的目录,而非符号连接所指向的目标目录。
|
||||
- 当仅实用"-"一个选项时,当前工作目录将被切换到环境变量"OLDPWD"所表示的目录。
|
||||
-L (默认值)如果要切换到的目标目录是一个符号连接,那么切换到符号连接的目录。
|
||||
-P 如果要切换到的目标目录是一个符号连接,那么切换到它指向的物理位置目录。
|
||||
- 当前工作目录将被切换到环境变量OLDPWD所表示的目录,也就是前一个工作目录。
|
||||
```
|
||||
|
||||
### 实例
|
||||
## 返回值
|
||||
|
||||
返回状态为成功除非无法进入指定的目录。
|
||||
|
||||
## 例子
|
||||
|
||||
```shell
|
||||
cd # 进入用户主目录;
|
||||
cd / # 进入根目录
|
||||
cd ~ # 进入用户主目录;
|
||||
cd - # 返回进入此目录之前所在的目录;
|
||||
cd - # 显示并返回进入此目录之前所在的目录(也就是根目录);
|
||||
cd .. # 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
|
||||
cd ../.. # 返回上两级目录;
|
||||
cd !$ # 把上个命令的参数作为cd参数使用。
|
||||
```
|
||||
|
||||
关于`CDPATH`
|
||||
|
||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||
```shell
|
||||
# 设置桌面文件夹作为CDPATH的值。
|
||||
CDPATH='~/Desktop'
|
||||
# 假设我们接下来要演示涉及到的路径~和~/Desktop下没有test3文件夹,现在新建它们。
|
||||
mkdir ~/test3
|
||||
mkdir ~/Desktop/test3
|
||||
# 进入~目录。
|
||||
cd ~
|
||||
# 进入test3目录。
|
||||
cd test3
|
||||
# 执行后显示~/Desktop/test3并进入该目录,而不是~目录的test3目录。
|
||||
# 如果CDPATH存在值,那么优先在CDPATH中查找并进入第一个匹配成功的,如果全部失败那么最后尝试当前目录。
|
||||
```
|
||||
|
||||
关于`cdable_vars`
|
||||
|
||||
```shell
|
||||
# 打开选项。
|
||||
shopt -s cdable_vars
|
||||
# 假设当前路径以及CDPATH没有名为new_var的目录。
|
||||
new_var='~/Desktop'
|
||||
# 尝试进入。
|
||||
cd new_var
|
||||
# 关闭选项。
|
||||
shopt -u cdable_vars
|
||||
```
|
||||
|
||||
### 注意
|
||||
|
||||
1. 该命令是bash内建命令,相关的帮助信息请查看`help`命令。
|
||||
|
||||
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
|
||||
|
|
|
|||
Loading…
Reference in New Issue