Linux常用基础指令-cd指令

cd指令

  cd(Change Directory)是 Linux 中用于更改当前工作目录的命令。

cd [目录路径]
  • 目录路径:可以是绝对路径或相对路径。如果不指定路径,cd 命令会将工作目录切换到用户的主目录。

常见用法

  1. 切换到指定目录
cd /dir_name/dir_name/

  将当前目录切换到指定的绝对路径 /dir_name/dir_name/

  1. 切换到主目录

  只输入 cd 或者使用 cd ~ 可以直接返回用户的主目录。

cd

cd ~
  1. 返回上一级目录

  使用 .. 表示上一级目录。

cd ..

  如果当前在 /home/user/docs 目录下,执行 cd .. 会将工作目录切换到 /home/user

  1. 返回到上一次所在的目录

  使用 -(减号)可以返回到上一次所在的目录。

cd -

  该命令会在两个目录之间来回切换。

  1. 切换到当前目录

  执行 cd . 会保持在当前目录不变,因为 . 代表当前目录。

cd .
  1. 使用相对路径

  使用相对路径可以从当前目录开始导航。如果在 /home/user 目录,想进入 docs 目录时,直接使用相对路径:

cd docs
  1. 切换到根目录

  根目录在 Linux 文件系统中是 /,可以直接使用 cd / 切换到根目录:

cd /

其他注意事项

  • 软链接:如果目录是软链接,cd 会解析软链接并进入指向的目标目录。
  • 权限问题:如果没有权限访问某个目录,cd 命令会返回错误并保持在当前目录。

环境变量 `CDPATH`

  设置`CDPATH` 环境变量,可以帮助 `cd` 命令更智能地查找目录。
export CDPATH=/usr/local:/var/www

  如果设置了 CDPATH,当使用 cd dirname 时,cd 会首先检查当前目录下是否存在 dirname,如果没有,它会在 CDPATH 中定义的路径中查找。

  这个环境变量的设置对其他命令使用没影响。但如果脚本中使用了 cd 命令并且未显式指定绝对路径,CDPATH 可能会让 cd 切换到不正确的目录。

cd命令选项

1. `-L`(逻辑模式)

  -L 是 “逻辑” 模式(Logical mode),cd 的默认行为。如果不指定任何选项,cd 会自动以逻辑模式运行。

  • 在逻辑模式下,cd 会尊重符号链接(symlinks)。如果导航到一个符号链接,cd 将保持符号链接的路径,而不会解析到实际的物理路径。

示例

lrwxrwxrwx.   1 root root       7 725 2019 bin -> usr/bin

执行:

# cd -L bin
# pwd
/bin

  即使 bin 实际上指向 /usr/bin,在逻辑模式下,pwd 仍然会显示符号链接的路径 /bin,而不会解析到 /usr/bin

2. `-P`(物理模式)

  -P 是 “物理” 模式(Physical mode),它告诉 cd 命令忽略符号链接,直接切换到符号链接指向的物理路径。

  • 物理模式下,cd 会解析符号链接并显示实际的物理路径。

示例

使用上面相同的符号链接:

# cd -P bin
# pwd
/usr/bin

物理模式下,cd 会解析符号链接,pwd 命令会显示目标路径 /usr/bin,而不是符号链接的路径 /bin

3. `-e`(和 `-P` 配合使用)

  -e 选项只能与 -P 一起使用,这个选项告诉 cd 在符号链接失效时返回错误。

  • 如果使用 cd -P -e 切换到一个不存在的符号链接路径,cd 会立即返回错误,而不会无信息提示。

但是我试了带不带-e都有错误返回,不知道在什么场景下有区别。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值