readlink命令用于解析符号链接指向的实际路径,基本用法为readlink 文件名,-f选项可递归解析为绝对路径,常用于脚本中获取真实文件位置,如readlink -f "$0"确定脚本自身路径,结合which命令可追踪命令真实执行文件,-n、-q、-s等选项支持静默处理与字符串解析,适合排查链接问题和自动化操作。

readlink命令用于获取符号链接(软链接)指向的实际路径。它不会直接显示文件内容,而是解析链接所指向的目标位置,适合用来排查链接问题或脚本中动态获取路径。
基本语法
readlink [选项] 文件名最简单的用法是直接跟一个符号链接:
readlink symlink_name如果symlink_name是一个软链接,命令会输出它指向的原始路径。
-f 选项:递归解析完整路径
使用-f选项可以让readlink递归解析所有中间链接,直到找到最终的绝对路径:
readlink -f myfile_link这个选项非常实用,尤其在脚本中需要获取文件真实位置时。它还会自动补全相对路径为绝对路径,即使原链接使用了../这样的相对引用也能正确解析。
ECSHOP时尚化妆品商城网站整站系统,基于ECSHOP2.7.3UTF-8版本制作,适合服装,首饰等商城网店使用。 安装方法:1. 下载程序后,删除data目录下的install.lock文件。2.访问:域名/install 按照提示进行安装.3.安装完成后,登陆网站后台---还原数据库4.还原后.模板管理---选择男装模板5.清空缓存6.修改管理员密码.还原数据后,后台信息:用户名:admin
常见用途示例
以下是一些典型使用场景:
- 判断某个命令实际执行的是哪个可执行文件:
readlink -f $(which python) - 在Shell脚本中获取脚本自身真实路径,避免因软链接导致路径错误:
SCRIPT_PATH=$(readlink -f "$0") - 检查多个层级的链接关系,查看最终指向:
readlink -f /usr/local/bin/app
其他常用选项
- -n:不输出末尾的换行符,常用于脚本变量赋值
- -q:出错时不显示错误信息
- -s:不校验最终路径是否存在,只做字符串解析
例如,静默获取链接目标而不报错:
readlink -s -q broken_link基本上就这些。readlink看似简单,但在自动化脚本和系统维护中很实用,特别是配合-f选项能准确追踪文件真实位置。









