symbolic link

删除一个文件夹中的所有符号链接

我怎样才能一次删除一个文件夹中的所有符号链接(几十个)?在使用unlink或rm时,用手插入每一个都是不现实的。

您可以使用 find -command 来执行此操作:

find /path/to/directory -maxdepth 1 -type l -delete

为了安全起见,请先检查没有 -delete -选项:

find /path/to/directory -maxdepth 1 -type l

-maxdepth 1 确保 find 仅在 /path/to/directory 中查找,而不在其符号链接的子文件夹中查找。随意看看 man find




列出当前目录别名文件夹中的链接并检查您是否确实要删除它们,

find -type l -ls                  # 也在子目录中搜索

find -maxdepth 1 -type l -ls      # 仅在目录本身中搜索

如果看起来不错,并且您想删除这些链接,请运行

find -type l -delete              # 删除子目录

find -maxdepth 1 -type l -delete  # 只删除目录本身

如果要交互删除,可以使用如下命令行(这样比较安全)

find -type l -exec rm -i {} +              # 删除子目录

find -maxdepth 1 -type l -exec rm -i {} +  # 只删除目录本身