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 工具绝对值得一看。