红联Linux门户
Linux帮助

Linux pwd命令学习心得

发布时间:2015-02-22 21:21:23来源:linux网站作者:voidy

你有没有遇到过需要知道当前所在目录却无从得知?有没有想要复制出当前所在目录层次却不知如何下手?俗话说有困难找警察,想知道目录层次自然要找pwd了。那么问题来了:


什么是pwd

pwd的意思是Print Working Directory,也就是打印工作目录,意如其名,就是说打印出用户当前所在目录,它会打印出从根目录(/)开始到当前所在目录的完整路径。这条命令是一条shell的内置命令,并且在大多数shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。

命令格式:  

# pwd [OPTION]


常用参数:
 

选项  描述
 -L (即逻辑路径logical )  使用环境中的路径,即使包含了符号链接
 -P (即物理路径physical)  避免所有的符号链接
 –help  显示帮助并退出
 –version  输出版本信息并退出 

如果同时使用了‘-L‘和‘-P‘,‘-L‘会有更高的优先级。如果没有指定参数,pwd会避免所有的符号链接,也就是说会使用‘-P‘参数。好了下面介绍具体栗子。我们的栗子都是使用“/bin/pwd”的。那么它和“pwd”有什么区别呢?


pwd与/bin/pwd的区别

这有什么区别呢?直接使用“pwd”意味着使用shell内置的pwd。你的shell可能有不同版本的pwd。具体请参考手册。当你使用的是/bin/pwd时,我们调用的是二进制版本的命令。虽然二进制的版本有更多的选项,但是它们两者都能打印当前的目录。好了下面继续我们的pwd的栗子实战。


8个pwd命令栗子


1.打印当前目录:

linux@linux:~$ /bin/pwd
/home/linux


2.为文件夹创建一个符号链接(比如说在home目录下创建一个htm链接指向/var/www/html)。进入新创建的目录并打印出含有以及不含符号链接的目录:

linux@linux:~$ ln -s /var/www/html/ htm
linux@linux:~$ cd htm


3.从当前环境中打印目录即使它含有符号链接:

linux@linux:~$ /bin/pwd -L
/home/linux/htm


4.通过解析所有的符号链接来打印当前实际的物理目录:

linux@linux:~$ /bin/pwd -P
/var/www/html


5.打印pwd命令的版本:

linux@linux:~$ /bin/pwd --version
pwd (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jim Meyering.


6.打印所有含有可执行pwd的路径:

linux@linux:~$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd


7.存储“pwd”命令的值到变量中(比如说:a ),并从中打印变量的值(对于观察shell脚本很重要)。

linux@linux:~$ a=$(pwd)
linux@linux:~$ echo "Current working directory is : $a"
Current working directory is : /home/linux


8.一次性获取当前工作目录以及先前工作的目录:

linux@linux:~$ echo “$PWD $OLDPWD”
/home /home/linux