linux 查看当前所在目录的全路径

Linux查看当前目录的命令详解

坦白讲,Linux pwd 命令的目的是帮助您确认您所在的文件夹,但应谨慎使用。

展开来说,先说最重要的一点:默认的pwd显示的是“你走过的路”的逻辑路径,比如/home/user/documents。
去年我们做这个项目的时候,有同学直接用这个路径写了一个脚本。
结果,由于符号链接而找不到该文件。
说实话,当时挺尴尬的。
还有一点:如果通过符号链接进入当前目录,pwd会默认显示链接路径。
例如,如果你cd到/tmp/link_to_real,它将直接显示/tmp/link_to_real。
实际位置取决于 pwd -P。
去年我们测试这个系统的时候,我们花了半个小时才弄清楚。
很多人都没有注意到。
还有另一个关键细节。
例如,在自动化脚本中你需要使用 pwd -P 来删除文件,否则软件链接会让你误入歧途——行话里这就是所谓的“雪崩效应”。
事实上,前面的一点延迟就会导致后面的一切都崩溃。

一开始以为pwd就这么简单,后来发现不同shell(比如Bash、Zsh)的路径解析速度差异很大,可以测量。
等等,还有别的事。
如果您处于非常深的软链接堆栈中,则来自 pwd 的路径可能会非常长。
在这种情况下,使用 readlink -f 更为直观。

结束提醒:开发脚本时,不要只相信pwd的默认输出。
将 current_dir=$(pwd -P) 替换为命令可以省去很多麻烦。

linux查看当前路径命令

我记得有一次,当我在实验室处理数据集时,突然需要检查我所在的目录。
打开终端并输入“pwd”,屏幕上会立即弹出“/home/user/data”,您的数据将保存在那里。
等等,我突然想到,如果我想看看这个目录下有哪些文件,应该用什么命令呢?