Ian Asked: 2009-05-01 15:12:27 +0800 CST2009-05-01 15:12:27 +0800 CST 2009-05-01 15:12:27 +0800 CST 如何在 FreeBSD 中查找文件 772 我正在尝试example.filename在我的 FreeBSD 服务器上找到 的所有副本。最好/最简单/最有效的方法是什么? linux files freebsd find grep 7 个回答 Voted dmckee --- ex-moderator kitten 2009-05-01T15:14:10+08:002009-05-01T15:14:10+08:00 locate filename 比 快得多find,如果您正在运行定位服务,并且它只查找updatedb上次运行时存在的文件(通常是在 cron 作业的控制下的前一天晚上)。 您可以手动运行updatedb,但这比cletus 建议的find速度还要慢,并且需要 root。我有时会在安装一堆新东西后手动更新数据库。 Best Answer cletus 2009-05-01T15:13:04+08:002009-05-01T15:13:04+08:00 find / -name example.filename Paul Tomblin 2009-05-01T15:14:11+08:002009-05-01T15:14:11+08:00 如果你已经安装了 locate(又名 slocate),那么 locate example.filename locate 每天晚上运行一个 cron 作业,重新索引您机器上的所有文件。由于这个原因,它并不总是最新的。 Jon Ericson 2009-05-01T15:32:14+08:002009-05-01T15:32:14+08:00 有时您想在特定目录级别查找文件。在这种情况下,使用 shell 通配符会很方便: ls /data/*/example.filename 显然,这仅在您具有严格的目录结构时才有效。 kgrad 2009-05-01T15:17:00+08:002009-05-01T15:17:00+08:00 我有时会 find . | grep example.filename 然而,可能效率非常低。 Basil Bourque 2019-07-28T21:50:31+08:002019-07-28T21:50:31+08:00 locate 正如其他人提到的,locate是查找文件的快速方法。此命令使用文件和文件夹名称的预编译索引。搜索此名称数据库,而不是通过您的文件系统进行爬网。 locate example.filename 要不区分大小写,请添加-i. locate -i eXAmPle.FileName 更新locate数据库 使用的数据库locate必须是最新的。完成可能包含所需文件的安装或下载后,您必须更新locate数据库。 该locate数据库最终将由您的 FreeBSD 系统自动更新。每周有一组家务,其中包括这项任务。/etc/periodic/weekly/310.locate脚本中列出了这些杂务。 强制提前更新locate数据库的最简单最安全的方法是强制每周完成一组家务活。 sudo periodic weekly 或者,您甚至可以强制完成所有常规杂务。您可能希望在设置新的 FreeBSD 系统后立即执行此操作。 sudo periodic daily weekly monthly 如果使用其他途径来更新locate数据库,您可能会收到一条关于不安全的消息,向 FreeBSD 系统上的任何用户透露所有系统文件的名称。使用periodic路由可以避免这个问题。 Sophie Alpert 2009-05-01T15:14:18+08:002009-05-01T15:14:18+08:00 如果您的定位数据库是最新的,那么只需: locate example.filename
比 快得多
find
,如果您正在运行定位服务,并且它只查找updatedb
上次运行时存在的文件(通常是在 cron 作业的控制下的前一天晚上)。您可以手动运行
updatedb
,但这比cletus 建议的find
速度还要慢,并且需要 root。我有时会在安装一堆新东西后手动更新数据库。如果你已经安装了 locate(又名 slocate),那么
locate 每天晚上运行一个 cron 作业,重新索引您机器上的所有文件。由于这个原因,它并不总是最新的。
有时您想在特定目录级别查找文件。在这种情况下,使用 shell 通配符会很方便:
显然,这仅在您具有严格的目录结构时才有效。
我有时会
然而,可能效率非常低。
locate
正如其他人提到的,
locate
是查找文件的快速方法。此命令使用文件和文件夹名称的预编译索引。搜索此名称数据库,而不是通过您的文件系统进行爬网。要不区分大小写,请添加
-i
.更新
locate
数据库使用的数据库
locate
必须是最新的。完成可能包含所需文件的安装或下载后,您必须更新locate
数据库。该
locate
数据库最终将由您的 FreeBSD 系统自动更新。每周有一组家务,其中包括这项任务。/etc/periodic/weekly/310.locate
脚本中列出了这些杂务。强制提前更新
locate
数据库的最简单最安全的方法是强制每周完成一组家务活。或者,您甚至可以强制完成所有常规杂务。您可能希望在设置新的 FreeBSD 系统后立即执行此操作。
如果使用其他途径来更新
locate
数据库,您可能会收到一条关于不安全的消息,向 FreeBSD 系统上的任何用户透露所有系统文件的名称。使用periodic
路由可以避免这个问题。如果您的定位数据库是最新的,那么只需: