使用plocate时如何排除指定目录?
使用plocate时如何排除指定目录?
我太懂这种被冗余结果刷屏的烦恼了——每次用plocate(或者传统的locate)搜文件,一半结果都是Timeshift快照里的重复内容,完全找不到真正需要的那条!针对你遇到的情况,有两种实用的解决方法:
临时快速排除(单次生效)
如果只是偶尔需要排除某个目录,直接用管道结合grep反向过滤就行,命令如下:
plocate anaconda activate.sh | grep -v "/timeshift/"
这里的grep -v表示反向匹配,会把所有包含/timeshift/的行过滤掉,只保留真实的文件路径。
永久排除(一劳永逸)
要是你不想每次都加管道,那就直接修改plocate的索引配置,让它彻底不索引Timeshift目录:
- 打开
updatedb的配置文件(plocate依赖这个工具生成索引):
sudo nano /etc/updatedb.conf
- 找到
PRUNEPATHS这一行,把/timeshift/添加到路径列表里,比如修改后可能是这样:
PRUNEPATHS="/tmp /var/tmp /timeshift/"
- 保存退出后,重新生成索引数据库:
sudo updatedb
之后再用plocate搜索时,Timeshift里的内容就不会再出现在结果里了。
⚠️ 小提示:如果你的Timeshift快照存放在其他分区或自定义路径,记得把对应的路径加到PRUNEPATHS里,而不是默认的/timeshift/哦。
备注:内容来源于stack exchange,提问作者Emile Durkheim
相关产品推荐
相关产品推荐

