戈菲斯

Gofis 是一个轻量级的命令行工具,用于快速搜索文件系统中的文件。
它是用 Go 编写的,大量使用并行性(goroutines),这使得它特别高效
处理大型目录和项目时。

该项目可在 GitHub 上获取:
https://github.com/demensdeum/gofis

🧠Gofis 是什么

Gofis 是一个 CLI 实用程序,用于按名称、扩展名或正则表达式搜索文件。
与 find 等经典工具不同,gofis 的设计初衷是
重点是速度、可读输出和并行目录处理。

该项目在MIT许可下分发,可以免费使用
用于个人和商业目的。

⚙️ 主要功能

  • 使用 goroutine 并行目录遍历
  • 按文件名和正则表达式搜索
  • 按扩展名过滤
  • 忽略繁重的目录(.git、node_modules、vendor)
  • 人类可读的文件大小输出
  • 最小的依赖性和快速构建

🚀安装

需要安装 Go 才能工作。

git clone https://github.com/demensdeum/gofis
cd gofis
go build -o gofis main.go

构建后,二进制文件可以直接使用。

发布页面上还有适用于现代 Windows 版本的独立版本:
https://github.com/demensdeum/gofis/releases/

🔍使用示例

按名称搜索文件:

./gofis -n "config" -e ".yaml" -p ./src

快速定位搜索:

./gofis "main" "./projects" 50

使用正则表达式搜索:

./gofis "^.*\.ini$" "/"

🧩 它是如何工作的

Gofis 基于 Go 的竞争模型:

  • 每个目录都在单独的 goroutine 中处理
  • 使用信号量限制活动任务的数量
  • 频道用于传输搜索结果

这种方法可以有效利用 CPU 资源
并显着加快大型文件树的搜索速度。

👨‍💻Gofis适合谁?

  • 使用大型存储库的开发人员
  • DevOps 和系统管理员
  • 需要从终端快速搜索的用户
  • 对于那些学习 Go 中并发的实际用途的人

📌结论

Gofis 是一个简单但有效的工具,只做一件事,而且做得很好。
如果您经常在大型项目中搜索文件并且看重速度,
这个 CLI 工具绝对值得一看。