pwd 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,属于文件与目录命令族(见文件与目录命令族)。最基础却常被软链接坑到。
pwd(print working directory,打印工作目录)显示你当前所在的目录路径。简单到一句话能说清,但涉及软链接时会"显示的和实际的不一样"。
一、基本用法
bash
pwd # 显示当前目录
cd /var/log && pwd # 输出 /var/log大多数 shell(bash/zsh)自带内建
pwd,比外部命令快,行为一致。它就是你命令行提示符里路径的来源。
二、软链接陷阱:-P
bash
ln -s /data/logs /var/log # 建软链接
cd /var/log
pwd # 输出 /var/log(逻辑路径,含链接)
pwd -P # 输出 /data/logs(物理真实路径)这是 pwd 唯一的坑:
pwd默认显示你"怎么进来的"逻辑路径(含软链接名),pwd -P(physical)才解析到真实物理路径。写脚本涉及路径处理时,务必用pwd -P或 realpath 拿真实路径,否则可能操作错地方。
三、在脚本里拿当前目录
bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"脚本里这句经典写法:先 cd 到脚本所在目录、再
pwd -P拿绝对真实路径,赋值给变量。避免"用户从别的目录调用脚本导致相对路径错乱"的常见 bug。
相关命令
一句话总结
pwd = 打印当前工作目录:默认显示含软链接的逻辑路径;pwd -P 解析出真实物理路径——写脚本处理路径务必用 -P(或 realpath),否则软链接下会操作错目录;脚本取自身目录用 cd dir && pwd -P 经典写法。