补充说明
symlinks 是一个小巧的符号链接维护工具,可以扫描目录树,列出悬空(指向不存在目标)的链接、把绝对路径链接改写成相对路径、缩短过长的相对链接,或直接删除失效链接。它常用于整理从别处拷贝过来的目录,以及发布包里夹带的坏链接。
默认只做检测和报告,不加选项时不会改动任何文件;真正修改需要显式使用 -c、-s 或 -d。建议先跑一次 -v 看清单,确认无误后再加修改类选项。
-c 与 -s 的作用方向不同:-c 把“绝对路径”转成相对路径,-s 则把“能更短”的相对路径重写为更短形式。-r 会递归进入子目录,不加时只处理当前目录这一层。删除悬空链接前请确认它们确实无用。
语法
symlinks [选项] [目录...]
选项
-c:把绝对路径的符号链接转换为相对路径-d:删除悬空的符号链接-r:递归处理子目录-s:把相对链接缩短为更短的形式-t:只测试并报告,不做修改-v:显示详细处理过程
实例
# 递归列出所有悬空链接
symlinks -rv /srv/www
# 把绝对路径链接改为相对路径
symlinks -rc /srv/www
# 删除失效的符号链接
symlinks -rd /srv/www
# 缩短过长的相对链接
symlinks -rs /srv/www