陈斌彬的技术博客

Stay foolish,stay hungry

Linux - 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.打印当前目录:

img

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

$ ln -s /var/www/html/ htm
$ cd htm

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

$ /bin/pwd -L

img

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

apple@ubuntu:~/htm$ /bin/pwd -P
/home/apple/htm

5.打印 pwd 命令的版本:

apple@ubuntu:~/htm$ /bin/pwd --version
pwd (GNU coreutils) 8.21
Copyright (C) 2013 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 的路径:

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

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

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

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

apple@ubuntu:~$ echo "$PWD $OLDPWD"
/home/apple /home/apple/htm