我有这样的:使用找到-L选项
mylink -> myfile
当我这样做:
find -L . -name 'mylink'
我得到:
./mylink
我不明白为什么会这样,请参见手册页:
-L:遵循符号链接。当查找检查或打印文件信息时,使用的信息应从链接指向的文件的属性中获取,而不是从链接本身获取(除非它是一个broch-ken符号链接或者find无法检查文件该链接指向)。
基于上述我期待以下行为为我的示例情况:find开始搜索。它遇到mylink。由于-L实际上取消了它的引用并获得了指向文件'myfile'的名字。文件名称与模式“mylink”不匹配,并且没有任何内容被报告。发生了什么?
我不明白,名字不是文件的属性? – abc 2012-02-07 21:35:11
目录由将名称映射到inode的目录条目组成,它们是文件本身。一个inode具有元数据(如大小,时间和权限),但没有内部名称。事实上,一个文件(inode)可能有很多名字 - 见硬链接。 – ephemient 2012-02-07 21:37:18