LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1362|回复: 4

如何找到软链接指向的最终文件

[复制链接]
发表于 2010-2-22 23:24:30 | 显示全部楼层 |阅读模式
因为软链接还可以指向软链接,如何一开始直接找出软链接指向的最终文件?

如存在实际文件 hello
链接文件sym1 -> hello
链接文件sym2 -> sym1
链接文件sym3 -> sym2

用什么命令,找sym3时,马上可以找到最终的文件hello?
发表于 2010-2-23 01:40:31 | 显示全部楼层
用abspath工具。abspath -r sym3
这个命令不是bash内建的,可能需要安装。
回复 支持 反对

使用道具 举报

发表于 2010-2-23 10:56:42 | 显示全部楼层
readlink -f
回复 支持 反对

使用道具 举报

发表于 2010-2-24 00:16:11 | 显示全部楼层
看了看帮助,readlink -f 和abspath -r的效果似乎应该是一样的?
回复 支持 反对

使用道具 举报

发表于 2010-2-24 11:28:13 | 显示全部楼层
原来还有好几个这种程序阿。我只想到了用循环实现。如从软链接d找到最终文件a
cunzhang@Debian:~$ ls -l
总用量 6
lrwxrwxrwx 1 cunzhang cunzhang   5  2月 24 11:18 b -> tmp/a
lrwxrwxrwx 1 cunzhang cunzhang   1  2月 24 11:18 c -> b
lrwxrwxrwx 1 cunzhang cunzhang   1  2月 24 11:18 d -> c
drwxr-xr-x 2 cunzhang cunzhang  72  2月 24 11:17 tmp
cunzhang@Debian:~$ s=d
cunzhang@Debian:~$ while [ -h $s ]; do s=`ls -l $s|awk '{print $NF}'`; done
cunzhang@Debian:~$ echo $s
tmp/a
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表