推荐采用realpath或readlink -f来获取绝对路径。其中,realpath更为可靠,它能够自动处理符号链接和路径规范化,并且在路径不存在时默认报错。而readlink -f则对老系统更为兼容,但对坏链接更为敏感。需要注意的是,pwd -P和$PWD仅适用于当前目录,无法用于任意文件。

Linux怎么查看文件的绝对路径

直接用 realpathreadlink -f,99% 的场景下就能拿到你要的绝对路径;别用 pwd 拼接,也别手动加 / 前缀——那不是“查看”,是猜。

realpath 命令:最推荐的默认选择

realpath 是 GNU coreutils 的一部分,现代发行版基本都自带。它自动处理 ...、重复斜杠和符号链接,输出干净、规范的绝对路径。

readlink -f:老系统兼容性更强的选择

readlink -f 更底层,不依赖 GNU 扩展,在 CentOS 6、某些嵌入式或最小化系统里更可能预装。但它对路径存在性更敏感。

pwd -P 和 $PWD:只适合当前目录,别乱套用

pwd -P能够返回当前工作目录的物理路径,也就是将所有符号链接解开后的实际位置。而$PWD是shell所记录的逻辑路径。需要注意的是,这两者都仅仅作用于当前目录,无法直接用于任意文件。

哪些方法容易踩坑

别碰这些看似简单实则危险的操作:

真正容易被忽略的是:路径是否“存在”和是否“可解析”是两回事;realpathreadlink -f 的行为差异,往往只在符号链接链断裂或跨挂载点时才暴露出来——等线上脚本出问题再查,代价远大于提前验证一次。

本文转载于:https://www.php.cn/faq/2998541.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。