做什么

切换当前工作目录。用得最多的命令之一

常用写法

cd /etc              # 绝对路径
cd projects          # 相对路径
cd ~                 # 回家(等同 $HOME)
cd                   # 不带参数 = 回家
cd /                 # 去根
cd ..                # 上一级
cd ../..             # 上两级
cd -                 # 回到上次所在目录
cd ~user             # 去 user 的家

高级技巧

# 自动补全:按 Tab
cd /var/lo[Tab]       # → /var/log/

# 推荐装 zoxide(cd 增强版)
sudo apt install zoxide
# 之后用 z:
z log                 # 自动跳到 /var/log(按访问频次记忆)

看现在在哪

pwd                  # 绝对路径
echo $PWD            # 同上
echo $OLDPWD         # 上次目录

  • cd 是 shell 内置命令,不是独立程序——which cd 找不到
  • 在脚本里 cd 只影响当前脚本进程,不影响调用者
  • 跨脚本切目录用 pushd / popd
pushd /tmp           # 入栈 + cd
# 干活
popd                 # 弹出栈顶 + cd 回原处