当前位置: 首页 > article >正文

【linux006】目录操作命令篇 - pwd 命令

文章目录

      • 1、基本用法
      • 2、常见选项
      • 3、举例
      • 4、注意事项

pwd命令在 Linux 中用于显示当前工作目录的绝对路径。它是一个非常基础且常用的命令,帮助用户确认自己在文件系统中的位置。

1、基本用法

pwd [选项]

2、常见选项

  • -L(逻辑路径):显示当前工作目录的逻辑路径。这是pwd命令的默认行为,即使不指定-L选项,也会显示逻辑路径。逻辑路径可能会包含符号链接(即快捷方式)。
  • -P(物理路径):显示当前工作目录的物理路径,即解析所有符号链接后的实际路径。这对于需要了解文件或目录在文件系统中的实际位置时非常有用。

主要功能

  • 显示当前工作目录pwd命令的主要功能是显示用户当前所在的目录路径,这对于在命令行界面下进行文件浏览和操作非常有用。
  • 获取绝对路径pwd命令显示的是当前工作目录的绝对路径,即从根目录(/)开始到当前目录的完整路径。
  • 辅助文件操作:通过了解当前工作目录的路径,用户可以更方便地进行文件创建、删除、移动等操作。
  • 脚本调试:在编写Shell脚本时,pwd命令可以用来确定脚本运行时的工作目录,有助于调试和确保脚本的正确执行。

备注:

符号链接与物理路径的区别:

  • 当使用符号链接切换目录时,pwd 默认会显示符号链接的路径(逻辑路径)。这可以通过 pwd -L 选项显式指定。

  • 使用 pwd -P 可以查看符号链接解析后的实际路径(物理路径)。在处理涉及符号链接的复杂目录结构时,这两个选项的区别非常重要。

3、举例

-L 选项举例:

#显示当前工作目录的逻辑路径
pwd -L

在这里插入图片描述

-P 选项举例:

#如果当前工作目录是一个符号链接,该命令将显示链接指向的实际路径
pwd -P	

在这里插入图片描述

4、注意事项

路径类型

  • 绝对路径:pwd命令显示的是当前工作目录的绝对路径,即从根目录(/)开始的完整路径。
  • 相对路径是从当前目录或某个指定目录开始的路径。

特殊目录

  • 虚拟文件系统:在某些情况下,可能处于由系统内核提供的虚拟文件系统目录中,如/proc/sys等。这些目录在物理存储上可能并不存在,而是由系统动态生成的。在这些目录下使用pwd命令时,返回的路径可能不直观,但它是正确的,代表了当前的工作目录。

符号链接

  • 默认情况下,pwd命令显示的是逻辑路径,即可能包含符号链接的路径。
  • 如果需要查看实际的物理路径(即解析所有符号链接后的路径),可以使用pwd -P命令。

权限问题

  • 目录访问权限:在某些情况下,由于权限限制,可能无法读取某些目录的环境变量或内容。这时,使用pwd命令可能不会遇到问题,因为它只是显示当前工作目录的路径,但如果后续需要对这些目录进行操作,可能会遇到权限不足的错误。

命令组合

  • 与其他命令结合使用:pwd命令的输出结果可以被其他命令使用,例如通过命令替换的方式保存到变量中,供后续操作使用。可以将pwd命令与其他命令(如cdls等)结合使用,以实现更复杂的目录操作。

环境变量

  • PWD环境变量:pwd命令的工作方式之一是通过读取环境变量PWD来获取当前工作目录的路径。在大多数情况下,这个环境变量是由shell自动设置的,但在某些特殊情况下(如手动修改了环境变量),pwd命令的输出可能会受到影响。

内建命令与外部命令

  • bash内建的pwd与GNU coreutils的pwd:在bash环境中,pwd既可以是内建命令也可以是外部命令(如GNU coreutils包中的pwd)。内建命令的执行速度通常更快,因为它们直接在shell内部执行,而不需要启动外部程序。然而,在某些情况下(如需要特定版本的pwd命令时),可能需要使用外部命令。
  • 在这里插入图片描述

http://www.kler.cn/a/302047.html

相关文章:

  • C语言简单测试总结
  • uni-app开发-识图小程序-识图功能
  • CTF-RE: 安卓逆向 + 加密算法分析爆破 [第一届国城杯 round] 赛后学习
  • Java基础知识(四) -- 面向对象(下)
  • Oracle Managed Files(OMF)
  • 【Unity3D】ECS入门学习(七)缓存区组件 IBufferElementData
  • vue3 自定义指令 directive
  • CSS-3
  • 如何让大模型更好地进行场景落地?
  • OpenSSL工具验证RSA证书
  • C# 批量更改文件后缀名称
  • 软件测试中常用模型分析
  • 【编程底层思考】性能监控和优化:JVM参数调优,诊断工具的使用等。JVM 调优和线上问题排查实战经验总结
  • 【C语言从不挂科到高绩点】17-C语言中的宏定义
  • 云服务器 卸载mysql5并安装mysql8(图文)
  • docker-compose 部署 flink
  • 笔试强训day10
  • C#基础(10)变长参数和参数默认值
  • 数据结构之数组矩阵存储
  • 树莓派安装 OpenCV 教程
  • 110个oracle常用函数总结
  • uniapp中基于vue3实现输入验证码功能
  • Android 地图搜索商家,检索关键字(高德地图,百度地图),地址搜索(1)
  • windows 显示进程地址空间
  • win11下面的virtualenv的使用(没写完)
  • Excel文档的读取(3)