pwd
命令(全称:print working directory)是一个非常简单的Linux命令,它的功能就是打印当前工作目录。当你在Linux终端中感到迷失时,pwd
命令可以帮助你重新定位,显示你所在的目录。
pwd
命令在所有主流的Linux发行版中都可以使用,包括但不限于Ubuntu、Debian、Fedora、CentOS等。这个命令是内置在bash shell中的,所以不需要进行任何安装。
[linux@bashcommandnotfound.cn ~]$ pwd
pwd
命令的基本语法非常简单,只需要在终端中输入pwd
即可。
pwd
pwd
命令的选项非常简单,主要有两个:
-P
:避免列出符号链接,而是给出绝对路径。-L
:如果你通过符号链接导航到特定目录,它会列出符号链接。运行没有任何选项的pwd
命令会输出当前工作目录的完整路径。
[linux@bashcommandnotfound.cn ~]$ pwd
-P
选项指示pwd
打印物理工作目录并避免列出符号链接。因此,该命令打印当前工作目录的绝对路径。
[linux@bashcommandnotfound.cn ~]$ pwd -P
-L
选项指示pwd
打印工作目录路径,包括任何符号链接。
[linux@bashcommandnotfound.cn ~]$ pwd -L
当你在子目录中时,pwd
命令可以帮助你确定你的位置。例如,假设你在/home/user/Documents
目录中,你可以使用pwd
命令来确认这一点。
[linux@bashcommandnotfound.cn ~]$ cd /home/user/Documents
[linux@bashcommandnotfound.cn ~]$ pwd
/home/user/Documents
当你在一个通过符号链接访问的目录中时,pwd
命令的输出会根据你使用的选项而变化。例如,假设你有一个指向/home/user/Documents
的符号链接/home/user/Docs
,你可以看到pwd
和pwd -P
的区别。
[linux@bashcommandnotfound.cn ~]$ cd /home/user/Docs
[linux@bashcommandnotfound.cn ~]$ pwd
/home/user/Docs
[linux@bashcommandnotfound.cn ~]$ pwd -P
/home/user/Documents
你也可以在shell脚本中动态获取当前目录。例如,以下脚本会打印出脚本执行时的当前目录。
[linux@bashcommandnotfound.cn ~]$ echo '#!/bin/bash' > script.sh
[linux@bashcommandnotfound.cn ~]$ echo 'echo "This script is executed in $(pwd)"' >> script.sh
[linux@bashcommandnotfound.cn ~]$ bash script.sh
This script is executed in /home/user
在Makefile中,你可以使用pwd
命令来获取当前目录。这在需要指定文件路径时非常有用。
[linux@bashcommandnotfound.cn ~]$ echo 'all:' > Makefile
[linux@bashcommandnotfound.cn ~]$ echo ' echo "Current directory: $(shell pwd)"' >> Makefile
[linux@bashcommandnotfound.cn ~]$ make
Current directory: /home/user
pwd
命令时,如果返回bash: pwd: command not found
,那么你可能需要检查你的$PATH
环境变量,或者尝试使用绝对路径/bin/pwd
来运行命令。