Print the full filename of the current working directory.
打印当前工作目录
例子:
1、用 pwd 命令查看默认工作目录的完整路径
[root@localhost ~]# pwd
/root
[root@localhost ~]#
2、使用 pwd 命令查看指定文件夹
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
3、目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
[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
选项:
-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]#
5、当前目录被删除了,而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 ~]#
补充:
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是两个不同的命令,通过以下的示例,看下其中的区别:
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.
这两个命令的联系跟区别是什么呢?
www.jb51.net:/var/www# cd //
www.jb51.net://# pwd
//
www.jb51.net://# /bin/pwd
/
www.jb51.net://#
二者的基本功能是一致的,但是在显示当前目录时,/bin/pwd显示得更准确些,而pwd容易被操作者糊弄。但是差别不大。