我有这个:
mylink -> myfile
当我这样做时:
find -L . -name 'mylink'
我明白了:
./mylink
我不明白为什么会出现这种情况,请参阅手册页:
-L:遵循符号链接。当查找或打印有关文件的信息时,所使用的信息应取自链接指向的文件的属性,而不是来自链接本身(除非它是一个粗略的符号链接或查找无法检查文件链接指向的地方)。
基于以上所述,我希望我的示例案例具有以下行为:find开始搜索。它遇到了mylink。因为-L实际上它取消引用它并获取指向文件'myfile'的名称。文件名与模式'mylink'不匹配,不报告任何内容。发生了什么事?
答案 0 :(得分:1)
以下链接'当存在指向目录的链接时适用。
指向文件的链接只是一个文件本身。没有-L
,目录的链接也只是一个文件。
只有在添加-L
时,才会找到递归到链接目录
答案 1 :(得分:1)
该名称不是文件的属性,它是包含它的目录的属性。
如果要匹配符号链接的内容,请使用-lname
。