先说方法:find后的查找目标加上引号!!!
如果存在一个文件夹,它的名字和它包含的一个子文件相同,在这个文件夹的上级目录使用find命令,可能会出现找不到子文件的状况。
我建立了一个目录,大致是这样的:
然后回到root目录,使用find命令
从出来的结果可以发现,find -name aaa*
并没有显示出./aaa/aaa.txt这个路径。
通过一段时间的探索,我发现问题在于我对于搜索的选项值没有加上引号。
使用find -name 'aaa'
之后:
成功显示!
出现这一问题的原因是
shell 会对于 *
进行展开,使得*
在按下回车后自动匹配成了此处的aaa。
也就是说,在此处find -name aaa*
就相等于find -name 'aaa'
。