![立即按名称搜索文件](https://linux22.com/image/958613/%E7%AB%8B%E5%8D%B3%E6%8C%89%E5%90%8D%E7%A7%B0%E6%90%9C%E7%B4%A2%E6%96%87%E4%BB%B6.png)
Windows 下有一个智能软件“Everything”,它可以监听 NTFS 中的变化,并允许它立即按名称搜索文件 - 只需一秒钟甚至更短的时间。
Ubuntu 有这样的能力吗?
答案1
Ubuntu 也有很好的老locate
从命令行。
location 读取由 updatedb(8) 准备的一个或多个数据库,并将与至少一个 PATTERN 匹配的文件名写入标准输出,每行一个。
updatedb 创建或更新由locate(1)使用的数据库。如果数据库已经存在,则重用其数据以避免重新读取未更改的目录。updatedb通常由cron(8)每天运行以更新默认数据库。
例子...
locate *.txt
结果是
/boot/grub/gfxblacklist.txt
/discworld/.Trash-1000/files/Breaking Bad S04E10 Nl subs DutchReleaseTeam/DutchReleaseTeam NFO.txt
/discworld/.Trash-1000/files/Breaking Bad S04E10 Nl subs DutchReleaseTeam/Torrent downloaded from Demonoid.me.txt
/discworld/.Trash-1000/files/True Blood S04E12 HDTV.XviD (NL subs) DutchReleaseTeam/Dutch Release Team NFO Read Before Playing.txt
/discworld/.Trash-1000/files/True Blood S04E12 HDTV.XviD (NL subs) DutchReleaseTeam/Torrent_downloaded_from_Demonoid.me.txt
/etc/X11/rgb.txt
它所显示的内容会立即显示,您可以使用 进行搜索regex
。
答案2
没有,没有这样的工具。我知道的所有搜索工具都依赖于自己的数据库,不能使用内部文件系统的索引和日志数据,例如一切能。
话虽如此,我认为在正常情况下“Linux”工具已经足够了。locate
能够在任何文件系统上索引文件(不像一切),而且速度也很快。如果你想查找个人文档或启动程序,那么像gnome-do
或 这样的启动器软件kupfer
更适合这项任务。
答案3
是的,我们有这样的实用程序。首先,Nautilus(文件浏览器)可让您快速搜索文件。对于您使用过的文件,您可以按 super+F 打开文件和文件夹镜头并输入文件名。还有文件索引器,如 Tracker(可能以后可以从文件和文件夹镜头访问)。
答案4
我不记得我从哪里偷了它,但尝试这个脚本:
#!/bin/bash
t=$(mktemp)
locate "$1" | awk '{ printf "%4d\t\"%s\"\n", NR, $0 }' > $t
[[ -s $t ]] || { echo "No results found"; exit; }
rows=$(wc -l "$t" | cut -d' ' -f1)
if [[ $rows == 1 ]]; then
file=$(sed 's/^.*\t"\(.*\)"$/\1/' $t)
xdg-open "$file" &
else
response=$(dialog --stdout --menu 'Choose a File:' 20 70 15 --file $t)
if [[ -n "$response" ]]; then
file=$(sed -n "/^\s*$response\t/{s/^.*\t\"\(.*\)\"$/\1/;p}" $t)
if [[ -n $file ]]; then
echo "You chose $file"
xdg-open "$file" &
fi
fi
fi
将此脚本复制并粘贴到文本文件中...
完成后使其可执行(sudo chmod +x),然后将其放入 /usr/local/bin 或 ~/bin
现在,如果你的脚本名称是搜索,你必须数字
搜索名称文件
:)
另一个有前途的工具: