有効なディレクトリへのすべてのシンボリックリンクを一覧表示するには、 find を使用します。

有効なディレクトリへのすべてのシンボリックリンクを一覧表示するには、 find を使用します。

私は利用できる

find /search/location -type l

内部のすべてのシンボリックリンクのリスト/検索/場所

有効なディレクトリを参照するシンボリックリンクに出力を制限し、壊れたfindシンボリックリンクとファイルリンクを除外するにはどうすればよいですか?

ベストアンサー1

GNU findの使用(非埋め込みLinuxおよびCygwinで実装):

find /search/location -type l -xtype d

基本機能のない検索実装では、-xtype2つの呼び出しを使用できますfind。 1 つはシンボリックリンクをフィルタリングし、もう 1 つはディレクトリへのリンクをフィルタリングします。

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

または、次のようにプログラムを呼び出すこともできますtest

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

または、zshがある場合は2つだけです。グローバル予選@=はシンボリックリンク、-=次の修飾子はリンク先に適用され、=/はディレクトリです):

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

おすすめ記事