Linux 【03-pwd命令超详细教程】

Linux pwd 命令 超详细教程

一、命令作用

pwd = print working directory ,作用:打印当前所在的工作目录路径

登录终端、切换文件夹后,用它查看自己当前处在系统哪个目录下。


二、基础语法

bash 复制代码
pwd [选项]

权限:所有用户均可使用,无权限限制。


三、常用参数(Linux 主流选项)

1. 无参数(最常用)

直接执行 pwd,输出当前绝对路径

bash 复制代码
pwd
# 示例输出:/home/ubuntu

2. -L(--logical)逻辑路径(默认行为)

显示逻辑路径 ,如果目录是软链接(符号链接) ,输出链接指向的原路径别名,而非真实物理路径。

多数系统 pwd 默认就是 -L 模式。

bash 复制代码
pwd -L

3. -P(--physical)物理路径

不跟随软链接 ,显示目录对应的真实物理绝对路径

场景:目录被软链接指向其他位置时,查看真实目录。

bash 复制代码
pwd -P

4. --help 帮助文档

查看命令帮助、参数说明。

bash 复制代码
pwd --help

5. --version 查看版本

查看 pwd 命令版本信息。

bash 复制代码
pwd --version

四、核心示例(实操演示)

示例1:基础使用(普通目录)

bash 复制代码
# 进入 /usr 目录
cd /usr
# 查看当前路径
pwd
# 输出:/usr

示例2:区分 -L-P(软链接场景,重点)

  1. 创建测试目录 + 软链接
bash 复制代码
mkdir /tmp/real_dir          # 真实目录
ln -s /tmp/real_dir /tmp/link_dir  # 创建软链接 link_dir
  1. 进入软链接目录
bash 复制代码
cd /tmp/link_dir
  1. 分别执行参数对比
bash 复制代码
pwd        # 默认 -L,输出:/tmp/link_dir(链接名)
pwd -L     # 逻辑路径:/tmp/link_dir
pwd -P     # 物理真实路径:/tmp/real_dir

总结:

  • -L:你怎么进入的,就显示什么路径(跟随链接)
  • -P:显示文件实际存放的真实路径(穿透链接)

示例3:家目录 ~ 下使用

~ 代表当前用户家目录,cd ~ 回到家目录:

bash 复制代码
cd ~
pwd
# 普通用户输出:/home/用户名
# root 用户输出:/root

五、关键知识点

1. 绝对路径 vs 相对路径

  • 绝对路径 :从根目录 / 开始的完整路径(pwd 永远输出绝对路径)
    例:/home/ubuntu/etc
  • 相对路径 :相对于当前目录 的路径,不以 / 开头
    例:./(当前目录)、../(上一级目录)

2. 特殊目录符号

  • .当前目录
  • ..上一级目录
    结合 cd + pwd 练习:
bash 复制代码
cd /etc/systemd
pwd          # /etc/systemd
cd ..
pwd          # /etc
cd ./
pwd          # /etc

3. 常见使用场景

  1. 迷路时:不知道自己在哪个文件夹,执行 pwd 定位;
  2. 脚本编写:Shell 脚本中获取当前脚本所在目录;
  3. 软链接排查:用 pwd -P 找真实目录;
  4. 远程服务器:SSH 登录后快速确认工作路径。

六、补充小技巧

  1. Shell 内置命令

    pwdShell 内置命令(不是独立外部程序),优先级高于系统命令,所有 Linux 发行版行为一致。

  2. 搭配 cd 组合使用(日常高频)

bash 复制代码
# 一步步切换并查看路径
cd /var/log
pwd
cd ../run
pwd
  1. 退出目录后路径变化
bash 复制代码
cd /root
pwd
cd -   # 快速回到上一次所在目录
pwd

七、常见问题

  1. 执行 pwd 提示 No such file or directory

    原因:当前目录已被删除 (目录被别人删掉,但你还停留在里面)。

    解决:cd 到一个正常存在的目录即可。

  2. root 和普通用户 pwd 结果不同

    root 家目录:/root

    普通用户家目录:/home/用户名,属于正常现象。

相关推荐
风曦Kisaki7 小时前
#Linux数据库管理Day06:主从同步与MaxScale读写分离
linux·运维·数据库
小楼昨夜又东风1267 小时前
使用python快速拉包
linux
Tipriest_8 小时前
ubuntu创建和更换当前swap大小
linux·运维·ubuntu
WI8LbH7889 小时前
Ubuntu 部署Harbor
linux·运维·ubuntu
researcher-Jiang10 小时前
高性能计算之MPI:第一次MPI并行程序设计练习
linux·运维·服务器
Wireless_wifi610 小时前
Why Choose IPQ9574 for Your WiFi 7 Solution
linux·人工智能·5g
MYMOTOE611 小时前
国内对标腾讯 WorkBuddy 的桌面 AI 智能体软件大全
linux
小c君tt11 小时前
linux学习笔记1
linux·笔记·学习
RisunJan11 小时前
Linux命令-read(Bash 内建读取输入)
linux
CCPC不拿奖不改名13 小时前
Redis 工程化部署深度解析
linux·服务器·数据库·redis·深度学习·缓存·rag