麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)

0.基础环境

类别:笔记本
型号:中国长城 UF712
硬件平台:飞腾处理器(ArmV8 指令集)
系统:银河麒麟操作系统 V10 SP1(2203)
关键词:
信创,麒麟系统,linux,PKS,银河麒麟,飞腾,arm64,arm,everything,fsearch,find

1. 需求背景

当我们电脑中有许多文件资料时,我们需要根据文件名或者文档内容搜索相关资料。在windows下,除了我们常见的系统自带的搜索,我们大家另外用得最多的便是一个叫everything的软件,本文试图为大家在麒麟操作系统下找到一个相对可用的解决方案,以供日常使用参考。
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第1张图片

2.麒麟系统自带的搜索

2.1文件管理器中的搜索(首选推荐)

使用win+s唤出系统搜索
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第2张图片
从检索的内容来看,支持文件内容搜索(先打开索引)
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第3张图片
经测试支持docx,xlsx,pptx,pdf以及正常的文件文件
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第4张图片

直接使用系统文件资源管理器搜索,但仅限于文件名搜索。
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第5张图片

2.2命令搜索

2.2.1 find(仅支持文件名查询)

Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
语法格式:

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第6张图片

2.2.2 grep(仅支持查询文本文件内容)

grep仅支持文本文件内容搜索
从文件内容查找匹配指定字符串的行:
$ grep “被查找的字符串” 文件名
例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件
grep “thermcontact” /.in

从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

查找时不区分大小写:
$ grep –i “被查找的字符串” 文件名

查找匹配的行数:
$ grep -c “被查找的字符串” 文件名

从文件内容查找不匹配指定字符串的行:
$ grep –v “被查找的字符串” 文件名

2.2.3 which(path路径命令查找)

which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置。它一般用来确认系统中是否安装了指定的软件。

2.2.4 whereis与locate

whereis 命令主要用于定位可执行文件、源代码文件、帮助文件在文件系统中的位置。whereis 命令还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

whereis 命令查找速度非常快,这是因为它根本不是在磁盘中漫无目的乱找,而是在一个数据库中(/var/lib/mlocate/)查询。这个数据库是 Linux 系统自动创建的,包含有本地所有文件的信息,并且每天通过自动执行 updatedb 命令更新一次。也正是因为这个数据库要每天才更新一次,就会使得 whereis 命令的搜索结果有时候会不准确,比如刚添加的文件可能搜不到。

locate 命令跟 whereis 命令类似,且它们使用的是相同的数据库。但 whereis 命令只能搜索可执行文件、联机帮助文件和源代码文件,如果要获得更全面的搜索结果,可以使用 locate 命令。

2.2.6 find与grep结合使用

注意:find先通过文件名过滤,再使用grep检索文本内容
从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name “*.log” | xargs grep “ERROR”
例子:从当前目录开始查找所有扩展名为.in的文本文件,并找出包含”thermcontact”的行
find . -name “*.in” | xargs grep “thermcontact”

3.fsearch(everything的替代,仅限文件名,推荐)

FSearch是一个免费的开源文件搜索工具 根据GNU GPL v2许可发布。 该应用程序非常快,可以在GNU / Linux系统上使用,它是用C编写的,基于GTK + 3。
这个应用程序 允许用户创建和维护自己的文件数据库,并在Linux上更有效地查找文件。第一次执行将对文件和目录建立索引,实时进行搜索, 当您输入字母和字符时,将立即处理并显示搜索查询。
通过命令行安装,也可以在应用市场安装

sudo apt install fsearch -y #安装fsearch

或者使用flatpak安装

flatpak install flathub io.github.cboxdoerfer.FSearch

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第7张图片
打开后的效果如下,搜索结果秒出。与windows下的everything使用方法基本一致。
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第8张图片
麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第9张图片

4.recoll(支持文件内容与文件名搜索,支持格式较多,推荐)

Linux 桌面全文搜索引擎,Recoll根据文档的内容和文件名查找文档。Recoll将为MS-Word文档编制索引,它还将通过友好且强大的界面帮助你进行搜索,并且只需单击两次即可在右侧页面打开PDF副本,磁盘上几乎没有隐藏的东西。Recoll基于功能强大的Xapian搜索引擎库,该库提供了功能强大的文本提取层和完整但易于使用的Qt图形界面。

sudo apt-get install recollgui recoll -y

麒麟操作系统 (kylinos) 从入门到精通 - 办公环境- 第三十七篇 资料搜索(windows下everything替代)_第10张图片

5.写在最后

经过各类对比与使用,麒麟系统自带的全局搜索足够好用,快捷,检索效果也还不错。推荐大家使用官方自带的资料和文件检索功能(记得打开需要搜索的文件夹的相关索引)

祝大家国庆快乐。。。

麒麟系统专栏:
https://segmentfault.com/blog...
文章发表在SegmentFault
联系邮箱:[email protected]
群:662512340 文章中相关资料均可通过群文件获取或向群主请求协助
发行日志:
20221005 首发

你可能感兴趣的:(信创linux程序搜索文件管理)