我想在系统中找到一个文件,并且我知道它的部分名称。我怎么能这么做呢?我尝试了以下命令但未成功:
find / "*partname*"
这个问题可能很简单,但是我找不到关于在 Linux 中搜索文件的像样的教程。这样的解释解释了在整个系统文件、子文件夹中递归地搜索特定表达式的一部分或排除。请告诉我什么命令可以解决我的问题,如果您知道一个好的教程,以便我可以了解如何使用各种参数进行搜索,请发布链接。太感谢了。
答案1
如果您想忽略大小写-name
,请使用运算符。-iname
find / -name "*partname*"
另外,除非你的文件是非常在嵌套层次结构的深处,您可能会限制搜索的深度(请注意,此运算符必须来自前任何其他):
find / -maxdepth 4 -name "*partname*"
-maxdepth 4
大多数时候就足够了,我认为我不需要更多-maxdepth 5
。当我搜索一个小目录(例如)时,我不会理会这些,/tmp
但是对于搜索来说/
它变得很重要。
您可能还想查看一下locate
,但请注意其结果被缓存,因此您不能依赖它准确反映系统上的内容。对于有关可能位置的快速提示,它非常方便,例如只需尝试locate partname
然后使用以下命令验证结果ls -l /path/reported/by/locate/of/your/file
答案2
您正在寻找的命令是:
find / -name "*partname*"
寻找默认情况下通过子文件夹递归搜索。
这里是谷歌上查找教程的第一个结果。
如果您想了解有关 find 的所有详细信息,只需键入以下内容即可访问联机帮助页:
man find
按退出q
通过页面搜索/searchterm