Find

僅使用 find 列出所有指向有效目錄的符號連結

  • August 22, 2021

我可以用

find /search/location -type l

列出/search/location中的所有符號連結。

如何將輸出限制為find引用有效目錄的符號連結,並排除損壞的符號連結和文件連結?

使用 GNU find(在非嵌入式 Linux 和 Cygwin 上的實現):

find /search/location -type l -xtype d

使用缺少主要的 find 實現-xtype,您可以使用 的兩種呼叫find,一種用於過濾符號連結,另一種用於過濾指向目錄的連結:

find /search/location -type l -exec sh -c 'find -L "$@" -type d -print' _ {} +

或者你可以呼叫test程序:

find /search/location -type l -exec test {} \; -print

或者,如果您有 zsh,則只需兩個glob 限定符@= 是符號連結,-= 以下限定符作用於連結目標,/= 是目錄):

print -lr /search/location/**/*(@-/)

引用自:https://unix.stackexchange.com/questions/191762