FSearch是一个快速的文件搜索工具,灵感来自Everything搜索引擎。它使用C语言编写,基于GTK3。
- 对于错误报告和功能请求,请使用问题跟踪器:https://github.com/cboxdoerfer/fsearch/issues
- 关于FSearch的讨论和问题,请使用讨论论坛:https://github.com/cboxdoerfer/fsearch/discussions
- 对于其他与FSearch相关的事项,您可以在Matrix上与我交流:https://matrix.to/#/#fsearch:matrix.org
功能
- 即时(边输入边显示)结果
- 高级搜索语法
- 通配符支持
- 正则表达式支持
- 过滤器支持(仅搜索文件、文件夹或所有内容)
- 可包含和排除特定文件夹进行索引
- 能够使用通配符表达式从索引中排除某些文件/文件夹
- 快速按文件名、路径、大小或修改时间排序
- 可定制的界面(例如,在传统菜单栏UI和客户端装饰之间切换)
要求
- GTK 3.18
- GLib 2.50
- glibc 2.19或musl 1.1.15(其他C标准库也可能工作,这些只是我验证过的)
- PCRE2 (libpcre2)
- ICU 3.8
下载
建议从稳定版软件包安装FSearch,除非您知道自己在做什么。
开发版软件包主要面向测试和喜欢冒险的用户。
发行版 | 稳定版 | 开发版 |
---|---|---|
Ubuntu | PPA 稳定版 | PPA 每日构建版 |
Arch Linux | AUR | AUR (git) |
Fedora/RHEL/CentOS | COPR 稳定版 | COPR 每夜构建版 |
Debian | OpenBuildService | |
openSUSE | OpenBuildService | |
Flatpak (功能受限) | Flathub | |
Solus* | Solus 仓库 | |
FreeBSD* | FreshPorts |
(*) 非本人维护
路线图
https://github.com/cboxdoerfer/fsearch/wiki/Roadmap
构建说明
https://github.com/cboxdoerfer/fsearch/wiki/Build-instructions
本地化
FSearch的本地化由Weblate管理。
https://hosted.weblate.org/projects/fsearch/
如果您想贡献翻译,请在那里提交,而不是在GitHub上开启拉取请求。这也包括对英文文本的任何建议 — 英语不是我的母语,所以可能存在错误和不常用的措辞。
使用说明可以在这里找到: https://docs.weblate.org/en/latest/user/basic.html
当然,非常感谢您抽出时间翻译FSearch!
当前限制
- 按类型对大量结果进行排序可能会非常慢,因为收集这些信息的成本很高,而且这些数据没有被索引。这也意味着当视图按类型排序时,搜索会将排序顺序重置为名称。
- 使用移至回收站选项不会更新数据库索引,所以被移到回收站的文件/文件夹在结果列表中会显示为没有发生任何变化。
为什么又一个搜索工具?
性能。在Windows上,我很喜欢使用Everything搜索引擎。它为所有文件提供即时结果,并有许多有用的功能(正则表达式、过滤器、书签等)。在Linux上,我找不到任何接近它那么快速和强大的工具。
在开始开发FSearch之前,我查看了现有的解决方案。我尝试了MATE搜索工具(前身是GNOME搜索工具)、Recoll、Krusader(基于locate的搜索)、SpaceFM文件搜索、Nautilus、ANGRYsearch和Catfish,以确定是否有改进这些工具的意义。然而,它们并不完全符合我的要求:
- 独立应用程序(不是文件管理器的一部分)
- 用具有C语言性能的语言编写
- 不依赖于任何特定的桌面环境
- 基于Qt5或GTK3
- 内存使用量小(硬盘和RAM)
- 目标用户:高级用户
寻找命令行界面?
我强烈推荐fzf或显而易见的工具:find和(m)locate
为什么选择GTK3而不是Qt5?
我喜欢这两个,我的长期目标是提供控制台、GTK3和Qt5界面,或者至少让其他人能够轻松构建这些界面。然而,目前只有GTK3,因为我更喜欢C而不是C++,而且我更熟悉GTK开发。
问题?
电子邮件:christian.boxdoerfer[AT]posteo.de