Linux pwd 命令

17 Mar 2025 | 4 分钟阅读

pwd 命令简介

PWD 代表 Print Working Directory(打印工作目录)。它在类Unix和其他操作系统中将工作目录的完整路径名写入标准输出。

pwd 命令的实现

Multics 有一个名为 **pwd**(它是命令的缩写,即 **print_wdir**)的命令,Unix pwd 命令由此产生。PWD 命令是几乎所有 Unix shell(如 zsh、ksh、bash、ash 和 Bourne shell)中的一个 shell 内建命令。它可以通过 POSIX C 函数 getwd() 或 getcwd() 轻松实现。此外,它在许多操作系统中都可用,包括 KolibriOS、PANOS 和 SpartaDOS X。在 Microsoft Windows (cmd.exe) 和 DOS Windows (COMMAND.com) 中,cd 命令不带参数时等效于 pwd。Windows PowerShell 提供了相同的 GET-LOCATION cmdlet,带有 pwd 和 gl 标准别名。在 Windows CE 的 5.0 版本中,命令处理器 shell cmd.exe 具有 pwd 命令。

自 1987 年第 2 期以来,pwd 一直是 X/Open Portability Guide 的组成部分,这一点在 Unix 系统上得到了证实。它被纳入了 Single Unix Specification 和 POSIX.1 的第一个版本。它出现在 Version 5 Unix 中。pwd 版本由 **Jim Meyering** 指定,并随 GNU coreutils 一起加载。

GNU Octave 和 MATLAB 数值计算环境包含一个具有相同功能的 pwd 函数。OpenVMS 的相应命令是 show default。

工作目录(当前)简介

当前工作目录是用户当前正在工作的目录。每次我们与命令提示符交互时,我们都在一个目录中工作。当我们登录到 Linux 系统时,当前工作目录默认为我们的主目录。我们可以使用 cd 命令更改我们的工作目录。

例如,我们需要在终端窗口中输入以下命令将工作目录更改为 /tmp

如果您有自定义的 zsh 或 bash 提示符,当前工作目录的路径可能会显示在 shell 提示符中。

PWD 语法

pwd 遵循以下语法

选项将在下一节中进行解释。

退出状态

pwd 包含以下退出状态

  • 非零: 失败
  • 零: 成功

PWD 选项及其解释

选项说明
pwd此命令用于显示当前工作目录。例如,**/home/foobar***
pwd -L此命令用于显示当前工作目录的逻辑路径,如果存在符号链接,则显示符号链接的名称。**例如,**如果存在一个名为 /home/symlinked 的目录,它是 /home/realdir 的符号链接;它将显示 /home/symlinked。
pwd -R此命令用于显示当前工作目录的物理路径,不显示符号链接的名称。**例如,**如果存在一个名为 /home/symlinked 的目录,它是 /home/realdir 的符号链接;它将显示 /home/realdir。
--help显示帮助消息。
--version提供程序版本。

注意:POSIX 要求默认行为就好像提供了 -L 选项一样。

PWD 命令示例

  1. 我们可以在终端窗口中使用以下命令打印当前工作目录

Linux pwd Command
  1. 创建文件夹的符号链接,移动到创建的目录,然后打印当前工作目录(不带符号链接和带符号链接)。
  2. 通过环境变量打印当前工作目录,即使它包含符号链接

Linux pwd Command
  1. 通过强制解析所有符号链接来打印原始物理工作目录

Linux pwd Command
  1. 检查命令 **"pwd -P"** 和 **"pwd"** 的结果是否等效,即,如果在运行时不提供选项,pwd 是否会自动考虑 -P 选项?
  2. 我们可以使用以下命令打印 pwd 命令的版本

Linux pwd Command

注意:pwd 命令从不带参数使用,并且经常在没有选项的情况下使用。

重要:我们可能已经看到我们以 /bin/pwd 的形式运行命令,而不是上面提到的 pwd。

那么,有什么区别?

pwd 单独描述的是 shell 内建的 pwd。我们的 shell 可能包含不同的 pwd 版本。我们建议参考手册。如果我们使用的是 /bin/pwd,我们就是在调用该命令的二进制版本。该命令的二进制版本和 shell 版本都会打印当前工作目录,所以二进制版本包含更多选项。

  1. 我们可以使用以下命令打印所有具有 pwd 可执行文件的位置

Linux pwd Command
  1. 将 pwd 命令的值存储在任何变量中,并从此变量打印值(对于 shell 脚本至关重要)。
    在上面的示例中,我们也可以选择使用 printf。
Linux pwd Command
  1. 将工作目录更改为另一个目录,并在终端窗口中显示它。我们也可以运行 ls 命令来验证它是否正常。
Linux pwd Command
  1. 设置多行终端窗口
    然后,运行 ls 命令查看一切是否正常。
Linux pwd Command
下一个主题Linux CD 命令