文章目录
- 1. 命令格式
- 2. 基本用法
- 3. 高级用法
- 4. 注意事项
1. 命令格式
pwd [OPTION]...
- [OPTION]: 可选选项,用于改变命令的默认行为。最主要的两个选项是 -L 和 -P。它不需要任何参数(如文件名或目录名)
2. 基本用法
- 用法:pwd 是 “print working directory” 的缩写。它的基本功能极其简单:打印出当前你所在的工作目录的绝对路径。
- 案例:当你打开终端时,通常会在家目录(如 /home/username)。如果你想确认当前位于哪个目录,直接输入 pwd 即可。这在长时间操作后,或者通过脚本操作时,确认当前位置非常有用。
$ pwd
/home/username
3. 高级用法
高级用法主要涉及它的两个选项,用于处理符号链接(Symbolic Links)
- -P: (Physical) 显示物理路径,即解析所有符号链接后的真实绝对路径
- -L: (Logical) 显示逻辑路径,即直接使用环境变量 $PWD 中的路径,可能包含符号链接。(这是默认行为)
案例:
1.创建一个目录和一个指向它的符号链接
$ mkdir /tmp/real_directory # 创建一个真实目录
$ ln -s /tmp/real_directory /tmp/symlink_dir # 创建一个符号链接指向它
2.进入符号链接目录
$ cd /tmp/symlink_dir
3.使用不同选项查看效果
- 使用默认方式(等同于 -L):
$ pwd
/tmp/symlink_dir
$ pwd -L
/tmp/symlink_dir
# 显示的是符号链接本身的路径
- 使用 -P 选项
$ pwd -P
/tmp/real_directory
# 显示的是符号链接最终指向的真实物理路径
4. 注意事项
- 无参数: pwd 命令不接受除选项外的任何参数,给它传递参数会报错
$ pwd /home
bash: pwd: too many arguments
- 目录权限:虽然极少见,但如果你对当前目录的父目录失去了执行权限(x),pwd -P 可能会失败,因为它需要向上遍历目录树来解析绝对路径。而 pwd -L(默认)可能仍然有效,因为它依赖于 $PWD 环境变量。
- $PWD 环境变量: Shell(如 Bash)会自动维护一个名为 $PWD 的环境变量,它的值就是当前工作目录。pwd 默认其实就是打印这个变量的值。你可以通过 echo $PWD 来验证,结果和 pwd 是一样的。