readlink命令用于显示符号链接指向的路径,支持递归解析真实路径。使用readlink mylink可查看软链目标,若文件非链接则无输出。加-f选项(如readlink -f mylink)可递归解析多层软链并返回绝对路径,常用于脚本中获取真实路径,例如REAL_PATH=$(readlink -f “$0”)确保定位准确。其他选项包括-n(不换行)、-q(静默错误)、-e(检查存在性)、-m(允许部分路径不存在),在调试和自动化中极为实用。

readlink 命令在 Linux 中用于显示符号链接(symlink)所指向的文件路径。它不仅可以读取链接目标,还可以递归解析路径中的所有符号链接,最终返回真实路径。这个命令在脚本编写、路径处理和调试软链问题时非常实用。
基本语法
readlink [选项] 文件
最常见的用途是查看某个符号链接实际指向哪个文件或目录。
查看符号链接的目标
假设你有一个软链接 mylink 指向 /home/user/file.txt:
readlink mylink
输出结果会是:
/home/user/file.txt
如果该文件不是符号链接,readlink 默认不会输出任何内容。
解析绝对路径(-f 选项)
使用 -f 或 –canonicalize 选项可以递归解析符号链接,直到获得最终的真实物理路径:
readlink -f mylink
即使中间路径中包含多层软链接,该命令也会持续追踪,返回完整的绝对路径。
例如:
/usr/local/bin/app 是一个软链 指向 /opt/myapp/v1.0/start.sh 而 v1.0 本身是 v1.2 的软链
执行:
readlink -f /usr/local/bin/app
会输出类似:
/opt/myapp/v1.2/start.sh
其他常用选项
-n:不输出末尾的换行符,常用于脚本赋值 -q:静默模式,出错时不显示错误信息 -e:不仅解析,还检查路径是否存在(相当于 –canonicalize-existing) -m:即使路径不存在也尝试解析(允许部分路径不存在)
比如在 Shell 脚本中获取真实路径:
REAL_PATH=$(readlink -f “$0”)
这行代码常用于获取当前脚本的完整路径,避免因软链或相对路径导致的问题。
基本上就这些。readlink 看似简单,但在自动化脚本和系统维护中很关键,特别是需要确定“真正执行的是哪个文件”时。掌握 -f 选项的使用,能帮你快速理清复杂的链接关系。
以上就是Linux命令行中readlink命令的使用方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/193677.html
微信扫一扫
支付宝扫一扫