【问题标题】:file all files that link to any file in a specific directory [duplicate]归档链接到特定目录中任何文件的所有文件[重复]
【发布时间】:2018-01-23 15:31:30
【问题描述】:

我需要在 mac/linux 上执行此操作:

  • 给定:一些目录,例如 /usr/local/lib/node_modules
  • 查找:所有指向给定目录中任何文件的符号链接的链接

我想删除这些链接,因为该目录不再存在并提供更清洁的工作环境。

【问题讨论】:

    标签: bash shell find posix symlink


    【解决方案1】:

    你可以用这个问题的答案来做到这一点:

    Linux: Find all symlinks of a given 'original' file? (reverse 'readlink')

    基本思想是您在每个目录上执行ls -al 并查找内容以查看它是否包含该目录作为链接的目标(而不是前面答案中的文件)。只需将/usr/share/applications 替换为您的目录,.* 即可匹配所有文件或子文件夹。 \-> 确保它匹配链接目标而不是普通文件名。

    例子:

    pax$ find / -exec ls -ald {} ';' 2>/dev/null | grep '\-> /usr/share/applications.*' lrwxrwxrwx 1 pax pax 23 2010-06-12 14:56 /home/pax/applications_usr_share -> /usr/share/applications

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多