pwd命令用于显示当前工作目录的绝对路径,是Linux系统中定位文件位置的基础工具。它输出从根目录/开始的完整路径,帮助用户明确操作上下文。与相对路径(基于当前目录,使用.、..、~等)不同,绝对路径始终指向唯一位置,避免歧义。shell还维护PWD环境变量,通常与pwd命令输出一致,但在符号链接场景下可能因逻辑路径与物理路径差异而不同。编写脚本时,结合cd和pwd可准确获取脚本所在目录,提升脚本可移植性与健壮性。

在Linux系统中,要查看你当前所在的目录,最直接、最常用的命令就是
pwd
pwd
pwd
/
举个例子,如果你在
/home/user/documents
pwd
$ pwd /home/user/documents
这个命令的魅力在于它的纯粹和高效。它不接受任何参数(虽然有一些不常用的选项,但日常基本用不到),也不需要任何复杂的配置。对于我个人来说,每次当我迷失在文件系统的深处,或者需要确认一个脚本将要执行的上下文时,
pwd
当我们谈论
pwd
绝对路径,顾名思义,是从文件系统的根目录
/
/home/user/documents/report.txt
report.txt
pwd
相对路径则不同,它不是从根目录开始,而是从你当前的工作目录(也就是
pwd
.
./my_file.txt
my_file.txt
..
../another_dir
another_dir
~
~/documents
documents
我个人觉得,相对路径的灵活和便捷,在日常操作中是不可或缺的。比如,当你在一个项目目录下工作时,你可能不需要每次都输入
/home/user/projects/my_project/src/main.py
src/main.py
pwd
pwd
pwd
很多人可能不知道,除了我们直接在命令行中执行的
pwd
pwd
你可以通过
echo
$ echo $PWD /home/user/documents
你会发现,
echo $PWD
pwd
简单来说,
pwd
$PWD
cd
通常情况下,它们会保持同步。但偶尔,在某些特殊场景下,比如当一个目录被删除,或者通过符号链接(symbolic link)进行复杂的目录跳转时,
pwd
$PWD
cd
举个例子,假设
/tmp/link_to_docs
/home/user/documents
$ mkdir -p /home/user/documents $ ln -s /home/user/documents /tmp/link_to_docs $ cd /tmp/link_to_docs $ pwd /home/user/documents # 默认情况下,pwd会解析到真实路径 $ echo $PWD /tmp/link_to_docs # PWD变量可能保留你cd进入的路径
这种情况其实是
pwd
pwd -P
pwd -L
$PWD
pwd
在编写Shell脚本时,获取当前脚本的执行路径是一个非常常见的需求。这对于构建可移植、健壮的脚本至关重要,因为你不能总是假设脚本会在特定的目录下被执行。
pwd
一个常见的误区是,直接在脚本中使用
pwd
pwd
例如,如果你的脚本
/home/user/scripts/my_script.sh
#!/bin/bash echo "当前工作目录是: $(pwd)"
如果你在
/tmp
$ cd /tmp $ /home/user/scripts/my_script.sh 当前工作目录是: /tmp
这显然不是我们想要获取脚本文件本身的路径。
为了获取脚本文件自身的目录,一个更稳妥且常用的方法是结合
dirname
readlink -f
realpath
#!/bin/bash
# 获取脚本文件所在的目录的绝对路径
# 这种方法在Bash中非常可靠,通过切换到脚本所在目录并使用pwd获取绝对路径
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
echo "脚本文件所在的目录是: $SCRIPT_DIR"
# 另一种常见且跨Shell兼容性更好的方法,使用readlink -f
# SCRIPT_DIR_ALT="$(dirname "$(readlink -f "$0")")"
# echo "脚本文件所在的目录(另一种方式)是: $SCRIPT_DIR_ALT"
# 如果你需要当前工作目录,那么pwd依然是首选
echo "当前脚本执行的工作目录是: $(pwd)"这里的
"${BASH_SOURCE[0]}"dirname
cd ... && pwd
&> /dev/null
cd
我个人在写脚本时,几乎都会在开头加上类似
SCRIPT_DIR
pwd
以上就是如何在Linux中查看当前工作目录?使用pwd命令获取当前路径信息的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号