Skip to main content

Linux 核心命令

文件和目录管理命令 pwd

pwd 是 Linux 里一个超级基础的命令,全称是 Print Working Directory,翻译过来就是“打印当前工作目录”。它会告诉你你现在在文件系统的哪个位置。

基本用法

最简单的用法就是直接敲 pwd,啥参数都不带:

pwd

运行后,它会输出你当前所在的目录的完整路径(pwd 永远输出绝对路径)。比如:

/home/user/documents

这表示你现在在 /home/user/documents 这个目录下。路径是绝对路径,从根目录 / 开始,层层往下。

pwd -L 显示逻辑路径

加上 -L(Logical 的缩写),pwd 会显示“逻辑”工作目录,也就是考虑符号链接(symlink)的路径。

啥叫逻辑路径?假设你当前目录是通过符号链接跳转过来的,-L 会显示符号链接指向的路径,而不是实际的物理路径。

pwd -L

举个例子:假如 /home/yzy/link 是个符号链接,指向 /tmp/data,你在 link 目录下运行:

cd /home/yzy/link
pwd -L

输出会是:

/home/yzy/link

pwd -P 显示物理路径

加上 -P(Physical 的缩写),pwd 会显示实际的物理路径,忽略符号链接。

还是上面的例子,运行:

cd /home/yzy/link
pwd -P

输出会是:

/tmp/data

这时候,它直接告诉你真实的目录位置 /tmp/data

啥时候用 -L 和 -P?

  • 如果你在乎当前目录的“表面路径”(比如符号链接的路径),用 -L
  • 如果你需要真实的物理路径(比如脚本里要操作实际文件),用 -P

一般情况下,默认的 pwd(相当于 pwd -L)就够用了。

脚本里用 pwd

在写 shell 脚本时,经常需要知道当前目录。比如,你想把文件保存到当前目录:

#!/bin/bash
current_dir=$(pwd)
echo "当前目录是:$current_dir"
cp somefile.txt "$current_dir/backup.txt"

这里 pwd 的输出被存到变量 current_dir 里,脚本就能动态知道当前目录。

环境变量 PWD

pwd 命令会读取环境变量 $PWD,你可以用 echo $PWD 查看,它的值通常跟 pwd -L 的输出一致。