2018年10月1日 / 106次阅读
Linux
用locate命令在Linux系统中快速查找文件,比find命令快。
locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocate/mlocate.db 。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。整个locate工作其实是由四部分组成的:
/usr/bin/updatedb 主要用来更新数据库,通过crontab自动完成的
/usr/bin/locate 查询文件位置
/etc/updatedb.conf updatedb的配置文件
/var/lib/mlocate/mlocate.db 存放文件信息的文件
xinlin@ubuntu:~/ktest$ touch abc123
xinlin@ubuntu:~/ktest$ locate abc123
xinlin@ubuntu:~/ktest$ updatedb
updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'
xinlin@ubuntu:~/ktest$ sudo updatedb
xinlin@ubuntu:~/ktest$ locate abc123
/home/xinlin/ktest/abc123
xinlin@ubuntu:~/ktest$
使用locate命令在数据库中查找文件,不需要给出查找路径。
xinlin@ubuntu:~$ locate test.txt
/home/xinlin/test.txt
/snap/notepadqq/855/usr/share/doc/x11proto-xext-dev/xtest.txt.gz
本文链接:https://www.maixj.net/ict/locate-19079
前一篇:用rmdir删除空目录
后一篇:HTTP访问网站文件夹的细节
©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。