玩转Linux之pwd命令
你有没有遇到过需要知道当前所在目录却无从得知?有没有想要复制出当前所在目录层次却不知如何下手?俗话说有困难找警察,想知道目录层次自然要找pwd了。那么问题来了:
什么是pwd
pwd的意思是Print Working Directory,也就是打印工作目录,意如其名,就是说打印出用户当前所在目录,它会打印出从根目录(/)开始到当前所在目录的完整路径。这条命令是一条shell的内置命令,并且在大多数shell中都可以使用,如bash、Bourne shell,ksh、zsh等等。
命令格式:
1 # 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.打印当前目录:
1 avi@tecmint:~$ /bin/pwd 2 3 /home/avi
2.为文件夹创建一个符号链接(比如说在home目录下创建一个htm链接指向/var/www/html)。进入新创建的目录并打印出含有以及不含符号链接的目录:
1 avi@tecmint:~$ ln -s /var/www/html/ htm 2 avi@tecmint:~$ cd htm
3.从当前环境中打印目录即使它含有符号链接:
1 avi@tecmint:~$ /bin/pwd -L 2 3 /home/avi/htm
4.通过解析所有的符号链接来打印当前实际的物理目录:
1 avi@tecmint:~$ /bin/pwd -P 2 3 /var/www/html
5.打印pwd命令的版本:

1 avi@tecmint:~$ /bin/pwd --version 2 3 pwd (GNU coreutils) 8.23 4 Copyright (C) 2014 Free Software Foundation, Inc. 5 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. 6 This is free software: you are free to change and redistribute it. 7 There is NO WARRANTY, to the extent permitted by law. 8 9 Written by Jim Meyering.
6.打印所有含有可执行pwd的路径:
1 avi@tecmint:~$ type -a pwd 2 3 pwd is a shell builtin 4 pwd is /bin/pwd
7.存储“pwd”命令的值到变量中(比如说:a ),并从中打印变量的值(对于观察shell脚本很重要)。
1 avi@tecmint:~$ a=$(pwd) 2 avi@tecmint:~$ echo "Current working directory is : $a" 3 4 Current working directory is : /home/avi
8.一次性获取当前工作目录以及先前工作的目录:
1 avi@tecmint:~$ echo “$PWD $OLDPWD” 2 3 /home /home/avi
参考资料:http://www.tecmint.com/pwd-command-examples/
PS:本博客欢迎转发,但请注明博客地址及作者,因本人水平有限,若有不对之处,欢迎指出,谢谢~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?