Linux locate 命令详解

简介

locate 命令用于通过查询预构建的数据库来快速搜索文件和目录,该数据库包含来自文件系统的索引文件路径。它比 find 之类的命令要快得多,因为它不会实时搜索整个文件系统。

关键概念

  • locate 命令依赖于数据库,通常位于 /var/lib/mlocate/mlocate.db,数据库文件会定期通过后台进程任务更新。

  • 因为数据库更新不是实时的,最新创建的文件可能不会被查询到,直到下次数据库更新。

安装

# Debian/Ubuntu
sudo apt update
sudo apt install mlocate

# CentOS/RHEL/Fedora
sudo yum install mlocate
sudo updatedb  # 初始化数据库

示例用法

搜索指定的文件
locate [filename]

locate example.txt
搜索部分匹配项
locate [example]

# 示例输出如下:
# /home/user/documents/example.txt
# /home/user/example_folder
搜索时不区分大小写
locate -i [Example]
显示输出的结果条数
locate -n 5 filename
配合 grep 使用
locate [filename] | grep '/home/user'
搜索实际的文件系统,不通过数据库
locate -e filename
更新本地数据库
sudo updatedb
从数据库中排除目录

修改 /etc/updatedb.conf 文件,添加如下示例行:

PRUNEPATHS="/tmp /var/tmp /var/cache"
统计匹配到的结果数
locate [filename] | wc -l

locate -c [filename]
查找以指定后缀结尾的文件
locate *.log
查找最近修改的文件
sudo updatedb

locate [example] | grep "$(date +%Y-%m-%d)"
结合正则表达式使用
locate --regex -i "(\.mp4|\.avi)"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值