2009-12-10 68 views

回答

7

一种简单,快捷的方式,假设你有一个目标的绝对路径(readlink(1)可能与此事有所帮助):

find $PATH -type l -xtype d -lname "$DIR*" 

此发现下面$PATH其链接到一个目录下的所有符号链接(-type l) (-xtype d),名称以$DIR开头。


的另一种方法,这是O(n * m个),并且因此可能需要年龄两天:

find $DIR -type d | xargs -n1 find $PATH -lname 

第一find列表$DIR和所有的子目录然后将其传递(xargs) ,一次一个(-n1),到第二find看起来为始发下面$PATH所有符号链接。


总结的事情了:find(1)是你的朋友。

+0

发现$ PATH型升-lname “$ DIR *” – ives 2015-02-06 04:56:12

+0

发现$ PATH型升-lname “$ DIR *” -exec ls -l命令{} \; – ives 2015-02-06 04:58:47

3

跟进the answer given by earl

-xtype无法在Mac OSX工作,但可以安全地忽略:

find $PATH -type l -lname "$DIR*" 

例子:

find ~/ -type l -lname "~/my/sub/folder/*" 
+0

'-xtype'用于查找符号链接的时候'-L'(旧天'-follow')上。 '-xtype'是afaik是一个GNU扩展。你是对的。由于不使用'-L',因此可以安全省略。有人认为'-type d'只会给出目录,'-type l -type d'只会给目录提供符号链接。 – andlrc 2016-05-07 16:05:40

相关问题