欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux系统下pwd命令用法详解

程序员文章站 2023-11-30 13:47:40
linux上pwd命令是Print Working Directory的缩写,基本功能是打印当前的工作目录,但是也有一些特殊的用法,本文总结关于pwd的使用方法... 14-04-07...

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命令的用法,希望对大家有所帮助。