查看: 207|回复: 0

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

[复制链接]

9

主题

0

回帖

27

积分

技术1级

金币
18
阅读权限
10
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-1-5
QQ
发表于 2010-2-28 06:05:33 | 显示全部楼层 |阅读模式
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.jb51.net:~# cd /proc/self   
www.jb51.net:/proc/self# pwd   
/proc/self   
www.jb51.net:/proc/self# pwd -P   
/proc/5401   
www.jb51.net:/proc/self# ls -l /proc/self   
lrwxrwxrwx 1 root root 64 Jun 23 18:25 /proc/self -> 5410   
www.jb51.net:/proc/self#  

pwd:显示当前的工作路径。
pwd  -P:如果当前的工作路径是链接的话,显示链接的原始路径,也就是实际路径,如ls -l /proc/self 显示的一样。
pwd -L:与pwd  -P完全相反,显示链接路径
这里再谈下linux系统中的环境变量PWD和OLDPWD。
环境变量PWD:显示当前工作路径的环境变量
环境变量OLDPWD:显示上一次的工作路径。
注意:由于是环境变量,使用的时候需要加上$变量标志,下面的命令详细演示了该环境变量的用法。


复制代码代码如下:
www.jb51.net:~# cd /var/www   
www.jb51.net:/var/www# echo $PWD   
/var/www   
www.jb51.net:/var/www# echo $OLDPWD   
/root   
www.jb51.net:/var/www#  

看看还是比较容易理解的。
附,获取当前目录的父目录的代码:


复制代码代码如下:
www.jb51.net:/var/www# echo $(dirname $(pwd))   
/var   
www.jb51.net:/var/www#  

内建命令pwd和外部命令/bin/pwd。
内建命令pwd和外部命令/bin/pwd是两个不同的命令,通过以下的示例,看下其中的区别:


复制代码代码如下:
www.jb51.net:/var/www# pwd -P   
/var/www   
www.jb51.net:/var/www# /bin/pwd -P   
/bin/pwd: invalid option -- P   
Try `/bin/pwd --help' for more information.  

可见内建命令pwd和外部命令/bin/pwd压根不是同一个命令,那问题就来了,这两个命令的联系跟区别是什么呢?
来看这些例子:


复制代码代码如下:
www.jb51.net:/var/www# cd //   
www.jb51.net://# pwd   
//   
www.jb51.net://# /bin/pwd   
/   
www.jb51.net://#  

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部