linux中怎样显示文件的绝对路径

直接得出结论。
手动输入
密码+文件名。
适用于:在文件目录中;文件名已知。

readlinkf <相对路径或文件名> 适用:知道相对路径或目录中已存在文件。

find /path -name <文件名> -exec readlinkf {} \; 可利用:只知道文件名,但不知道位置。

别废话了。

快速获取Linux文件的完整路径

说白了,如果想快速获取Linux文件的完整路径,只需要使用pwd、realpath、readlink和find这四个命令即可。
选择合适的工具,效率会直接倍增。

先说最重要的事情。
pwd 是最简单的,但是场景有限——它只显示你当前所在目录的路径。
例如,如果你在 /home/user/Documents 中,它会直接给你完整的字符串。
去年我们跑那个项目的时候,团队前期就因为这个写错了剧本,卡了很长时间。
使用时切记先定位准确位置。
还有一点是realpath特别适合处理符号链接。
例如,如果有一个软链接link.txt指向三个月前的旧文件,则可以直接使用realpath link.txt查看最终点。
很多人不注意这一点。
用行话来说,叫做“路径穿透”,其实就是一层层拆开所有的链接,直到找到真正的文件。

还有另一个关键细节。
readlink只能看到链接本身指向的地方,但如果你要找的是硬链接中的内容,它就无能为力。
去年我们有一个项目,硬链接分散在三个分区,使用readlink直接卡住。
后来发现不对劲,就改成查找+深度优先遍历来解决问题。
至于find,它是一个通用播放器,但参数必须调整。
例如find / -name .bashrc 可以搜索所有文件。
但当文件数量达到3 000个以上时,不加-prune或-xdev就很容易死机。
说实话,这很令人困惑。

一开始我以为readlink和realpath可以互换使用,后来发现是错误的。
符号链接和硬链接是两个不同的东西。
等等,还有一件事。
如果您在 SSH 远程服务器上操作,则路径显示可能包含 IP 地址。
记得使用以~开头的主目录缩写,以避免输入错误。

建议您尝试使用符号链接的realpath。
肯定会省事,但是在寻找硬链接时不要盲目使用。