如何查看与真实文件关联的出站符号链接?
查看目标文件关联的所有符号链接方法
软链接为单向指向结构,目标文件本身不会存储被哪些软链接引用的元数据,需要主动扫描文件系统匹配查找,常用方法如下:
方法1:基于inode扫描(准确率最高,不受路径变动影响)
- 第一步先获取目标文件的inode编号,执行命令:
ls -i /Users/c/top/ll/config/zshell.sh
输出结果的第一串数字就是inode值,示例输出如下,对应inode为123456:
123456 zshell.sh
- 第二步扫描对应目录下所有关联该inode的软链接,示例为全盘扫描:
find / -follow -inum 123456 2>/dev/null
参数说明:
-follow参数会跟踪软链接指向的目标文件,-inum匹配指定inode编号,末尾2>/dev/null用于过滤无权限访问的目录报错,减少冗余输出。如果不需要全盘扫描,把开头的/替换为你要扫描的指定目录路径即可。
方法2:基于路径扫描(适合路径固定的场景)
如果目标文件的绝对路径不会发生变动,可以直接扫描匹配路径的软链接:find / -type l -lname "/Users/c/top/ll/config/zshell.sh" 2>/dev/null
参数说明:
-type l限定只查找软链接类型的文件,-lname匹配软链接指向的目标路径。
macOS 快速检索方法
如果使用的是macOS系统,且Spotlight索引运行正常,可以用mdfind命令实现更快的检索,速度远高于全盘find扫描:mdfind "kMDItemFSInode == 123456"
替换命令中的123456为第一步获取到的目标文件inode即可。
内容的提问来源于stack exchange,提问作者clarissa
相关产品推荐
相关产品推荐

