FSearch Linux 文件搜索指南:三步装好,快速找到整个盘里的文件 FSearch Linux 文件搜索指南三步装好快速找到整个盘里的文件【免费下载链接】fsearchA fast file search utility for Unix-like systems based on GTK3项目地址: https://gitcode.com/gh_mirrors/fs/fsearch想找一个上周改过、名字又不确定的文件时打开文件管理器逐个目录翻、在终端敲find递归全盘都会让人等得不耐烦。FSearch 是一个基于 GTK3 的 Linux 文件搜索工具它先对你指定的目录建立本地索引之后你一边打字、一边立刻看到匹配结果。装好它、把索引目录设置好这种输入即出结果的体验马上就能用起来。一分钟认识FSearch 是什么FSearch 是用 C 语言编写的独立文件搜索工具设计思路接近 Windows 上的 Everything程序先扫描指定目录建立索引搜索时只查索引所以结果几乎瞬间返回。它基于 GTK3不绑定任何桌面环境内存和磁盘占用都比较小。会用得上的人普通用户想快速在图形界面里找到那个文件不想记命令行开发者需要按时间、大小、扩展名组合条件缩小范围对find太慢、locate索引不新鲜都不满意的人也要说明它是纯桌面程序没有命令行模式。如果你的需求是写脚本批量搜文件find、locate这类工具更合适。 上手三步装好 FSearch系统要求GTK 3.18 及以上GLib 2.50 及以上PCRE2正则表达式支持ICU 3.8 及以上国际化支持方式一包管理器安装推荐# Ubuntu / Debian sudo apt install fsearch # Fedora / RHEL / CentOS sudo dnf install fsearch # Arch Linux sudo pacman -S fsearch对大多数用户来说这一步就够了。发行版帮你处理依赖和后续更新不用自己盯着版本。方式二Flatpakflatpak install flathub io.github.cboxdoerfer.FSearchFlatpak 把应用放在沙盒里运行好处是不同发行版体验一致代价是访问某些目录需要先手动授权后面遇到问题时可以先想到这里。方式三源码编译git clone https://gitcode.com/gh_mirrors/fs/fsearch cd fsearch meson build ninja -C build sudo ninja -C build install只有在需要最新功能或想改编译选项时才走这条路前提是先装好上面的系统依赖。首次启动后的三步配置程序默认索引你的家目录。要去搜别的盘或目录打开 编辑 → 首选项 → 索引 把目录加进去。在排除列表里加上缓存、临时文件等路径让垃圾文件不占索引、不干扰结果。等状态栏显示索引完成就可以开始用搜索框了。上图是标题栏模式顶部输入搜索条件下方列出结果底部显示结果数量和索引状态。 核心能力按你要做的事来看按文件名快速定位直接在搜索框输入即可结果实时更新。支持通配符*任意多个字符和?恰好一个字符*.pdf # 所有 PDF image?.png # image1.png、image2.png 等 project*.docx # 以 project 开头的所有 Word 文档用通配符比逐字输入更快因为你能在结果里确认自己记不清的那几个字符。按大小和时间缩小范围搜索条件可以和文件名词组叠加全部条件默认按 AND 组合直接往后堆就行*.log size:10MB # 大于 10MB 的日志文件 dm:lastweek ext:c;cpp;h;hpp # 最近一周改过的源码 dm:2024-01..2024-03 # 2024 年 1 月到 3 月间修改的文件size支持 K/MB/GB 后缀dm修改时间接受today、lastweek、y-m-d这类写法。最近一周改过的日志这种需求一行就能表达清楚。只找文件、只找文件夹或找空目录file:report # 只匹配文件排除同名文件夹 folder:data # 只匹配文件夹 empty: # 空文件夹适合清理时找出来 childcount:1 # 只有一个子项的文件夹 parent:/home/user/projects # 把搜索限定在某个目录内file:和folder:这类修饰词能避免文件夹混在一起的干扰parent:则相当于给搜索加了一个范围限定。完整语法在 help/C/search_syntax.page 有说明。首选项里可以在传统菜单栏上图和现代标题栏之间切换。需要频繁用过滤器、快捷键菜单的话菜单栏模式顺手一些。⚙️ 进阶把索引的潜力榨干配置项建议为什么这样做索引目录只加经常搜索的目录索引越小首次建库和内存占用越低排除规则加*.tmp、缓存、node_modules等垃圾文件不进索引结果更干净排除隐藏文件开启大多数人不会主动找点文件索引刷新大批文件变动后手动刷新索引不是实时的变了就要更新几个实际会踩到的点按类型排序大量结果时会明显变慢因为文件类型信息没有进索引需要临时读取判断。建议先按名称或修改时间排序再缩小范围。移到回收站删除的文件仍会留在结果里因为索引没有随之更新手动刷新索引即可。索引目录建议放在速度快的磁盘上包含海量小文件的目录依赖目录、虚拟环境尽量排除。想动手改源码的话入口不分散索引建库在 src/fsearch_index.c 和 src/fsearch_database.c查询语法解析在 src/fsearch_query_parser.c搜索执行在 src/fsearch_database_search.c。 避坑三个高频问题问题一刚拷过来的文件搜不到现象文件确定存在搜索却找不到。原因是 FSearch 搜的是索引而不是实时文件系统。解决在工具栏或菜单里手动刷新索引同时确认文件所在目录在索引范围内没有命中排除规则。问题二搜索速度变慢现象简单的搜索也要等几秒。常见原因是索引范围太大、垃圾文件太多。解决把不常搜的目录移出索引把*.tmp、*.log之类的常见垃圾加入排除列表Flatpak 版本则先检查目录是否已授权访问。问题三名字带空格或引号的文件搜不到现象文件名含特殊字符时结果为空。解决用双引号把整个词组包起来或用反斜杠转义例如my\ folder。完整规则见 help/C/search_syntax_escaping.page。 延伸文档与生态搜索语法的完整资料都在 help 目录里按页查阅即可函数一览size、dm、childcount等help/C/search_syntax_functions.page修饰词file:、folder:、regex:、case:help/C/search_syntax_modifiers.page运算符AND / OR / NOT / 分组help/C/search_syntax_operators.page通配符help/C/search_syntax_wildcards.page源码主要模块位于 src/文件职责src/fsearch.c应用入口src/fsearch_database.c索引数据库管理src/fsearch_query_parser.c搜索语法解析src/fsearch_window.c主窗口与界面src/tests/单元测试参与方式翻译文本模板在 po/ 目录项目通过 Weblate 平台管理多语言翻译翻译建议直接提交到那里代码修改可以先提 issue 讨论再发变更。结论FSearch 适合谁适合在 Linux 上频繁搜文件、文件管理器自带搜索不好用的人需要时间 大小 扩展名组合条件的开发者想要类似 Everything 的输入即结果体验的人不适合偶尔才搜一次文件的人一条find命令反而更直接需要在脚本里批量搜文件的人选locate或fzf需要按文件内容搜索的人FSearch 只索引文件名和属性不读内容建议装好后先把最常搜的两三个目录加进索引、排除掉垃圾目录一周内就会形成使用习惯。搜索语法不用背用到时回来对照本文的示例即可。【免费下载链接】fsearchA fast file search utility for Unix-like systems based on GTK3项目地址: https://gitcode.com/gh_mirrors/fs/fsearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考