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 内置命令

    pwd 是 Shell 内置命令(不是独立外部程序),优先级高于系统命令,所有 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/用户名,属于正常现象。

相关推荐
Android系统攻城狮8 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_delay调用流程与实战(七十二)
linux·运维·服务器·gstreamer音视频·音视频进阶
快乐的韭菜根根8 小时前
ubuntu 安装slurm并配置
linux·运维·ubuntu
倒头就睡的小比特10 小时前
Linux基础指令3
linux·服务器
梦帮科技10 小时前
Kali Linux Scapy 畸形报文构造学——深度解剖非法 TCP Flags 与反常序列号
linux·爬虫·神经网络·算法·数学建模·系统架构·模拟退火算法
半杯咖啡半行码11 小时前
Linux 驱动开发入门:内核模块编程基础
linux·服务器·网络
别动我齐刘海12 小时前
Linux 系统调试学习2
linux·运维·c++·人工智能·学习·机器学习·机器人
龙虾电话12 小时前
语音机器人打断不进去:VAD 双阈值迟滞里一个共用的 bool,和它引发的连锁误判
linux
honsor12 小时前
机房IP化改造首选:以太网温湿度传感器,PoE供电+Modbus TCP一网搞定
linux·运维·服务器
默|笙13 小时前
【Linux网络】_udp_socket(认识)
linux·网络·udp
程序员梅雨13 小时前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件