1. 基本概念

1.1 命令作用

pwd是Linux中一个非常有用而又十分简单的命令,pwd是词组print working directory的首字母缩写,即打印工作目录;工作目录就是你当前所处于的那个目录。

pwd始终以绝对路径的方式打印工作目录,即从根目录(/)开始到当前目录的完整路径。在实际工作中,我们常常记不起当前目录的完整路径,此时pwd命令就派上用场了。

1.2 命令语法

pwd命令的语法结构如下所示:

pwd [option]

其中选项(option)可以是如下内容:

-L 打印逻辑上的工作目录;

-P 打印物理上的工作目录。

当省略option时,默认为-L选项。

1.3 逻辑和物理工作目录

那么什么又是逻辑工作目录和物理工作目录呢?这其实也很简单,只要你知道Linux的符号链接(Symbolic link)的概念。简单地说,符号链接等同于Windows操作系统上的快捷方式。

假设我有两个目录B和C,B符号链接到C且C是常规目录。那么当我对目录B进行操作时,实际是对目录C进行操作。比如,我在B中创建一个新文件,实际上是在C中创建了这个文件。当我处于目录B中时,那么B就是逻辑工作目录而C就是物理工作目录。

现在假设我又有另一个目录A,它也是一个符号链接且链接到B。那么当我处于A中时,逻辑工作目录就是A而物理工作目录还是C。注意此时物理工作目录是C而不是B,因为B也是一个符号链接。即当我对A进行操作时,实际是对B进行操作;而对B的操作,实际又是对C的操作。

1.4 选项的额外说明

当我在CentOS 8上查看pwd命令的说明文档时(即执行man pwd),它指出pwd还有4个额外的选项,分别是:--logical(等同于-L)、--physical(等同于-P)、--help(显示帮助信息)和--version(显示版本信息)。但在实际使用中却只有--help选项有作用,而其它3个选项都显示为无效选项。

当我在Mac OS上执行man pwd时,它又显示pwd只有-L和-P这两个选项。因此断定-L和-P这两个选项是pwd命令必定有的选项,而我们也只需要掌握这两个选项就可以了。

2. 示例

2.1 默认用法

直接使用pwd命令的结果如下图所示,它以绝对路径的方式显示当前目录的完整路径,可以看到我当前的工作目录为:/var/log/httpd。

2.2 逻辑和物理工作目录

在我的系统上,我们按照下图中的流程首先使用cd命令进入/tmp/test这个目录中。然后使用ll命令查看该目录的内容,可以看到有一个符号链接B,它链接到目录/var/log/httpd。我们再用cd命令进入B目录中。

提示:ll命令是"ls -l"命令的简写,它用于详细显示当前目录包含的内容。对于一个符号链接,它本身被显示为浅蓝色而它的链接目标则被显示为深蓝色,它们之间还有一个向右的箭头指明链接的方向。

此时,我们再分别执行pwd -L和pwd -P,结果如下图所示。可以看到-L选项显示的结果为/tmp/test/B,而-P选项显示的结果为/var/log/httpd。

2.3 多个符号链接

我们先在/tmp/test目录下再创建一个符号链接A,它链接到B。然后执行ll命令查看链接关系,再用cd命令进入A目录中。

此刻,我们再分别执行pwd -L和pwd -P,结果如下图所示。可以看到-L选项显示的结果为/tmp/test/A,-P选项显示的结果为/var/log/httpd而不是/tmp/test/B。

(完)

pwd命令是什么的缩写_Linux pwd命令详解相关推荐

  1. pwd命令是什么的缩写_Linux常用命令英文全称与中文解释 (pwd、su、df、du等)

    https://blog.csdn.net/qq_40334837/article/details/83819735 Linux常用命令英文全称与中文解释 apt: Advanced Packagin ...

  2. pwd命令是什么的缩写_Linux中常用的命令都是哪些单词的缩写?

    1.ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹.root@tecmint:~# ls Androi ...

  3. unix命令的一般格式是_Linux tree 命令详细使用说明

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解Linux系统上的tree命令的详细使用方 ...

  4. centos7 启动流程图_Linux启动过程详解

    Linux启动过程详解 作者:江远航 一.启动流程图如下 图1 Linux启动流程图 BIOS ---> MBR ---> Kernel---> Init 二.Linux启动顺序 一 ...

  5. ntp服务器查看状态命令ntpstat及ntpq -p 说明及差别详解

    NTP服务器[Network Time Protocol(NTP)]是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正( ...

  6. _Linux进程信号详解

    信号是什么 一个信号就是一条小消息,它通知进程系统中发生了一个某种类型的事件 信号是多种多样的,并且一个信号对应一个事件,这样才能做到收到一个信号后,知道到底是一个什么事件,应该如何处理(但是要保证必 ...

  7. Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解

    通过前面的学习我们知道,Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器. 我们首选的文本编辑器是 Vim(至于为什么,可查看<Vi和Vim的区 ...

  8. 命令控制qq自动申请远程控制_代码详解

    话说前一篇: http://blog.csdn.net/testingba/article/details/8003679 没有成功解决: 2.      控制好了以后,那个程序会老是去激活Aqq窗体 ...

  9. 命令行中 python -v 和 python -V 详解

    看了好多帖子说 "python -v 是包括库的版本号,而 python -V 才是版本号",特意去搜了下官方文档,证实如上说法并不对,以下是详解: 来源:https://docs ...

最新文章

  1. 链表中倒数第k个节点
  2. Charles拦截与篡改
  3. 安卓手机开机键失灵,FASTBOOT模式ADB重启
  4. Python制作植物大战僵尸小游戏
  5. Couldn't find leader offsets for Set([smt,0], [smt,1], [smt,2])
  6. Linux下备份cisco路由配置
  7. TensorFlow中multiply和matmul的区别
  8. 在web开发中,如何保证对象只被创建一次之单例应用系列?
  9. math java 计算_Java中的数学计算函数汇总
  10. maven多层项目配置
  11. Hash表素数大集合
  12. vscode 路径宏_VSCode宏怎么设置?VSCode宏的添加方法!
  13. 文件快速定位神器(C++小项目实战)
  14. 在VM虚拟机上安装Red Hat Enterprise Linux
  15. 数字签名开源_数字时代的开源与人文
  16. 网页设计基础(HTML)
  17. 线性方程组个数和方程未知数与方程解的关系
  18. CentOS下连VisualSVN服务器时报SSL handshake failed: SSL error: Key usage violation in certificate has been d
  19. 【Unity3D】UGUI之Toggle
  20. 04UE4 C++ 入门【力和扭矩】

热门文章

  1. 游戏夜读 | 2020周记(4.10-4.17)
  2. IDEA2019更换壁纸
  3. 为什么曾经“火极一时”的曲面屏,如今却越来越被冷场?
  4. 我的世界java参数优化,教程/提高帧率 - Minecraft Wiki,最详细的官方我的世界百科...
  5. 基于OGRE的大规模森林场景可视化研究
  6. 在线caj转换成pdf文件的操作方法
  7. java优雅的非空判断
  8. js数组定义与数组长度
  9. Doze模式adb shell命令集
  10. 挑选适合自己的英文原版书