cboxdoerfer/fsearch
GitHub: cboxdoerfer/fsearch
FSearch 是一款基于 GTK3 和 C 语言开发的 Unix-like 系统快速文件搜索工具,通过即时索引实现类似 Everything 的随打即搜体验。
Stars: 4261 | Forks: 272

[](https://hosted.weblate.org/engage/fsearch/?utm_source=widget)
FSearch 是一款快速的文件搜索工具,灵感来源于 Everything Search Engine。它使用 C 语言编写,基于 GTK3。
* 如需提交 Bug 报告和功能请求,请使用 issue tracker:
* 如需讨论和提问关于 FSearch 的问题,请使用讨论
论坛:
* 关于 FSearch 的其他任何事项,你可以在 Matrix 上与我交流:


## 功能
- 即时(随着输入)显示结果
- [高级搜索语法](https://github.com/cboxdoerfer/fsearch/wiki/Search-syntax)
- 支持通配符
- 支持 RegEx
- 支持过滤器(仅搜索文件、文件夹或所有内容)
- 包含和排除特定文件夹以进行索引
- 能够使用通配符表达式将某些文件/文件夹排除在索引之外
- 支持按文件名、路径、大小或修改时间快速排序
- 可自定义界面(例如,在带有菜单栏的传统 UI 和客户端装饰之间切换)
## 要求
- GTK 3.22
- GLib 2.58
- glibc 2.19 或 musl 1.1.15(其他 C 标准库可能也可以,这些只是我验证过的)
- PCRE2 (libpcre2) 10.21
- ICU 4.4
## 下载
除非你知道自己在做什么,否则建议从**稳定版**(Stable)软件包中安装 FSearch。
**开发版**(Development)软件包主要供测试和富有探索精神的用户使用。
| 发行版 | 稳定版 | 开发版 |
|-------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| Ubuntu | [PPA 稳定版](https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-stable) | [PPA 每日构建版](https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-daily) |
| Arch Linux | [AUR](https://aur.archlinux.org/packages/fsearch/) | [AUR (git)](https://aur.archlinux.org/packages/fsearch-git/) |
| Fedora/RHEL/CentOS | [COPR 稳定版](https://copr.fedorainfracloud.org/coprs/cboxdoerfer/fsearch/) | [COPR 每夜构建版](https://copr.fedorainfracloud.org/coprs/cboxdoerfer/fsearch_nightly/) |
| Debian | [OpenBuildService](https://software.opensuse.org//download.html?project=home%3Acboxdoerfer&package=fsearch#manualDebian) | |
| openSUSE | [OpenBuildService](https://software.opensuse.org//download.html?project=home%3Acboxdoerfer&package=fsearch#manualopenSUSE) | |
| Flatpak ([功能受限](https://github.com/cboxdoerfer/fsearch/wiki/Flatpak-version-limitations)) | [Flathub](https://flathub.org/apps/details/io.github.cboxdoerfer.FSearch) | |
| Solus* | [Solus 仓库](https://dev.getsol.us/source/fsearch/) | |
| FreeBSD* | [FreshPorts](https://www.freshports.org/sysutils/fsearch) | |
(*) 非本人维护
## 路线图
## 构建说明
## 本地化
FSearch 的本地化由 Weblate 管理。
如果你想贡献翻译,请在此处提交,而不是在 GitHub 上提交 pull request。这也包括对英文文本的任何建议——英语不是我的母语,因此可能存在错误和不通顺的表达。
说明可以在这里找到:
当然:感谢你抽出时间来翻译 FSearch!
## 当前局限性
* 按 *Type* 对大量结果进行排序可能会非常慢,因为收集该信息的开销很大,而且数据没有
被索引。这也意味着当视图按 *Type* 排序时,搜索会将排序重置为 *Name*。
* 使用 *Move to Trash* 选项不会更新数据库索引,因此被放入回收站的文件/文件夹在结果
列表中的显示就如同它们没有任何变化一样。
## 为什么还要做另一个搜索工具?
为了性能。在 Windows 上,我非常喜欢使用 Everything Search Engine。它为你所有的文件提供随着输入的即时结果
以及许多有用的功能(regex、过滤器、书签……)。在 Linux 上,我找不到任何在速度和功能上
能与之相提并论的工具。
在开始开发 FSearch 之前,我查看了现有的解决方案。我尝试了 MATE Search Tool(以前称为 GNOME
Search Tool)、Recoll、Krusader(基于 locate 的搜索)、SpaceFM File Search、Nautilus、ANGRYsearch 和 Catfish,以查明
改进它们是否有意义。然而,它们并不完全是我所寻找的:
- 独立的应用程序(不是文件管理器的一部分)
- 使用具有类似 C 语言性能的语言编写
- 不依赖于任何特定的桌面环境
- 基于 Qt5 或 GTK3
- 较小的内存占用(包括硬盘和 RAM)
- 目标受众:高级用户
## 在寻找命令行工具?
我强烈推荐 [fzf](https://github.com/junegunn/fzf) 或最显而易见的工具:find 和 (m)locate
## 为什么选择 GTK3 而不是 Qt5?
我两者都喜欢,我的长期目标是提供控制台、GTK3 和 Qt5 界面,或者至少让
其他人可以轻松构建这些界面。不过,目前只有 GTK3,因为与 C++ 相比我更喜欢 C,而且我更熟悉
GTK 开发。
## 有疑问?
电子邮件:christian.boxdoerfer[AT]posteo.de
标签:DNS通配符检测, GTK, Unix, 客户端加密, 数字足迹, 文件搜索, 桌面应用, 系统工具