如何使用Linux搜索文件?

如何使用Linux搜索文件?

您知道一种按名称递归查找文件或内容的好方法吗?类似于 Linux 中的 ms-windows 函数搜索?我怀疑find . | grep test.html这不是最好的方法。感谢您的回答。

例如,运行find . | grep terms.html给出了我预期的结果,但locate terms.html即使定位获取更新的数据库,也没有给出预期的结果 - 这可能与文件所在的 USB 记忆棒有关?

答案1

命令是 find,像这样

 find . -iname '*hellofiles*'

您说 find ·location· -iname 表示不区分大小写,并且如果您愿意的话,'' 是一个正则表达式。

find /home/user -iname '*zip' 将找到 /home/user 中的所有 zip 文件

如果您想要更快的查找,可以使用定位,有一个实用程序可以定期扫描磁盘,例如每周或每天,具体取决于设置方式

locate myfile

并且它将会查找数据库中是否在任何地方看到了 myfile。

答案2

find有许多选项允许它按名称、正则表达式或甚至更复杂的条件(例如大小或所有权)查找文件。例如

find . -iname '*.txt'

另请参阅链接手册页中的示例部分。

话虽如此,但find每次调用它时都会搜索文件系统,这是明显的缺点。locate另一方面,实用程序在其众多变体中,使用系统中文件的定期更新的数据库。

答案3

对于软件包:dpkg -L 软件包名称

或者如果您知道它在特定文件夹中,请添加 grep 的使用,例如:

dpkg -L 软件包名称 | grep 文件夹名称

例如,你刚刚安装了 Chromium,你需要知道 bin 在哪里

dpkg -L chromium-browser | grep bin

答案4

find . -name test.html或者您也可以使用通配符:find . -name \*test.html

相关内容