cd和pwd是Linux运维核心导航命令:cd用于高效切换目录(支持绝对/相对路径、~、-等快捷符号及Tab补全),pwd用于精准确认当前位置(含-P物理路径和-L逻辑路径选项),二者组合使用可避免误操作、提升脚本健壮性与执行安全性。

在 Linux 运维中,cd 和 pwd 是最基础却最关键的导航命令。用好它们,能避免误删、误操作,提升脚本健壮性,也让你在多层目录间跳转如呼吸般自然。
快速切换目录:cd 的实用技巧
cd 不只是“进一个文件夹”,它有一套高效路径管理逻辑:
-
绝对路径直达:以
/开头,不依赖当前位置。例如cd /var/log/nginx,适合运维中精准定位系统关键路径。 -
相对路径灵活跳转:基于当前位置。比如当前在
/home/user,执行cd Documents/project就进入子目录;用cd ..返回上级,cd ../../可连退两级。 -
快捷符号大幅减负:
-
cd或cd ~:秒回用户家目录(如/home/ops) -
cd -:在两个目录间来回切换,终端会提示类似/etc → /home/ops,调试时特别省心 -
cd .:看似无用,实则常用于脚本中统一路径格式(如cd ./ && ls避免路径歧义)
-
-
Tab 补全是默认习惯:输入
cd /etc/ss后按 Tab,自动补成/etc/ssh/,既快又防拼错——尤其面对长路径或大小写敏感目录时。
准确确认位置:pwd 的核心用途
别靠终端提示符判断当前在哪,pwd 是唯一可信依据:
-
pwd直接输出当前工作目录的绝对路径,比如/opt/app/config。这是执行ls、cp、find前必做的一步验证。 -
pwd -P显示物理路径:当通过符号链接(symlink)进入目录时,pwd默认显示“逻辑路径”(即你走的链接路径),而pwd -P会穿透链接,返回真实所在位置。例如ln -s /data/logs mylogs && cd mylogs后,pwd -P输出/data/logs。 -
pwd -L显示逻辑路径(等价于echo $PWD),适合排查环境变量是否被正确继承,或验证脚本中路径变量是否符合预期。
组合使用提升效率与安全性
单独用 cd 或 pwd 效果有限,配合起来才真正发挥价值:
- 执行敏感操作前,先
pwd确认位置,再cd切入目标,最后pwd二次核对——三步法可杜绝“在 / 下 rm -rf *”类事故。 - 写自动化脚本时,开头加
cd "$(dirname "$0")"或cd "$(pwd)",确保后续所有相对路径都以脚本所在目录为基准,避免因调用位置不同导致失败。 - 配合 find、grep 等命令:如
find $(pwd) -name "*.conf" -exec grep -l "timeout" {} \;,用$(pwd)锁定搜索起点,比硬编码路径更安全、可移植。
常见误区提醒
这些细节容易忽略,但直接影响操作可靠性:
-
cd改变的是 Shell 的当前工作目录,不是整个系统的;新打开的终端仍从默认路径开始。 - 符号链接路径下执行
cd ..,可能回到链接父目录,而非物理父目录——此时用pwd -P+cd $(dirname "$(pwd -P)")才能真正向上追溯。 - 脚本中慎用
cd -:它依赖OLDPWD环境变量,而子 Shell 或非交互式环境可能未设置,建议显式记录路径变量代替。


















