评论

收藏

[Linux] linux系统下pwd命令用法详解

服务系统 服务系统 发布于:2021-10-03 18:01 | 阅读数:244 | 评论:0

linux上pwd命令是Print Working Directory的缩写,基本功能是打印当前的工作目录,但是也有一些特殊的用法,本文总结关于pwd的使用方法
Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。

在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd [选项]
2.命令功能:
查看”当前工作目录“的完整路径
3.常用参数:
一般情况下不带任何参数
如果目录是链接时:
格式:pwd -P  显示出实际路径,而非使用连接(link)路径。
4.常用实例:
实例1:用 pwd 命令查看默认工作目录的完整路径
命令:
pwd
输出:
代码如下:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
实例2:使用 pwd 命令查看指定文件夹
命令:
pwd
输出:
代码如下:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd 
/opt/soft
[root@localhost soft]#
实例三:目录连接链接时,pwd -P  显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
命令:
pwd -P
输出:
代码如下:
[root@localhost soft]# cd /etc/init.d 
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
实例4:/bin/pwd
命令:
/bin/pwd [选项]
选项:
-L 目录连接链接时,输出连接路径
-P 输出物理路径
输出:
代码如下:
[root@localhost init.d]# /bin/pwd 
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd --help
[root@localhost init.d]# /bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd -L
/etc/init.d
[root@localhost init.d]#
实例五:当前目录被删除了,而pwd命令仍然显示那个目录
输出:
代码如下:
[root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@localhost removed]# cd 
[root@localhost ~]# pwd
/root
[root@localhost ~]#

以下是补充:

本文介绍下,linux中pwd命令的详细用法,除了打印当前的工作目录,还有些特殊的用法,希望对大家有所帮助。
linux上pwd命令是Print Working Directory的缩写,基本功能是打印当前的工作目录,但是也有一些特殊的用法,本文总结关于pwd的使用方法。
先来看下没有参数的pwd,然后介绍-P的作用,例如:
代码如下:
www.zzvips.com:~# cd /proc/self 
www.zzvips.com:/proc/self# pwd 
/proc/self 
www.zzvips.com:/proc/self# pwd -P 
/proc/5401 
www.zzvips.com:/proc/self# ls -l /proc/self 
lrwxrwxrwx 1 root root 64 Jun 23 18:25 /proc/self -> 5410 
www.zzvips.com:/proc/self#
pwd:显示当前的工作路径。
pwd  -P:如果当前的工作路径是链接的话,显示链接的原始路径,也就是实际路径,如ls -l /proc/self 显示的一样。
pwd -L:与pwd  -P完全相反,显示链接路径
这里再谈下linux系统中的环境变量PWD和OLDPWD。
环境变量PWD:显示当前工作路径的环境变量
环境变量OLDPWD:显示上一次的工作路径。
注意:由于是环境变量,使用的时候需要加上$变量标志,下面的命令详细演示了该环境变量的用法。


代码如下:
www.zzvips.com:~# cd /var/www 
www.zzvips.com:/var/www# echo $PWD 
/var/www 
www.zzvips.com:/var/www# echo $OLDPWD 
/root 
www.zzvips.com:/var/www#
看看还是比较容易理解的。
附,获取当前目录的父目录的代码:

代码如下:
www.zzvips.com:/var/www# echo $(dirname $(pwd)) 
/var 
www.zzvips.com:/var/www#
内建命令pwd和外部命令/bin/pwd。
内建命令pwd和外部命令/bin/pwd是两个不同的命令,通过以下的示例,看下其中的区别:


代码如下:
www.zzvips.com:/var/www# pwd -P 
/var/www 
www.zzvips.com:/var/www# /bin/pwd -P 
/bin/pwd: invalid option -- P 
Try `/bin/pwd --help' for more information.
可见内建命令pwd和外部命令/bin/pwd压根不是同一个命令,那问题就来了,这两个命令的联系跟区别是什么呢?
来看这些例子:


代码如下:
www.zzvips.com:/var/www# cd // 
www.zzvips.com://# pwd 
// 
www.zzvips.com://# /bin/pwd 
/ 
www.zzvips.com://#
由此可见,二者的基本功能是一致的,但是在显示当前目录时,/bin/pwd显示得更准确些,而pwd容易被操作者糊弄。但是差别不大。
就介绍这些了,有关linux命令中pwd命令的用法,希望对大家有所帮助。

关注下面的标签,发现更多相似文章