locate 查找文件

作用

locate 是一个查找文件的工具,但该命令不像 whereis 只能查找程序、二进制等几种文件,也没有 find 那么复杂。

语法

locate [参数] [字符串或模式...]

参数

  • -c 或 --count  只显示匹配的个数

  • -d<数据库文件> 或 --database=<数据库文件>   设置 locate 命令使用的数据库。locate 命令默认搜索的数据库是 /var/lib/mlocate/,文件名为 mlocate.db;如果不指定数据库,则仍旧使用系统默认的数据库;如果制定的数据库名为“-”,则表示从标准输入接收的数据库。

  • -n<num> 或 -l<num> 或 --limit<num>  至多显示 num 个输出

  • -i 或 --ignore-case  在匹配模式的时候,忽略大小写

  • -q   安静模式,不输出任何错误信息

  • -S 或 --statistics   输出每个数据的统计信息

  • -u  建立数据库,从根目录开始

  • -U  建立数据库,则可以制定开始的位置

  • -o 或 --null    输出结果用 ASCII null 间隔条目,而不是每个条目占一行

示例

(1)使用 locate 命令查找文件路径或名称包含 nginx 字符串的文件名,如下:

[hxstrive@localhost ~]$ locate nginx
/usr/lib/python3.9/site-packages/sos/report/plugins/nginx.py
/usr/lib/python3.9/site-packages/sos/report/plugins/__pycache__/nginx.cpython-39.opt-1.pyc
/usr/lib/python3.9/site-packages/sos/report/plugins/__pycache__/nginx.cpython-39.pyc

(2)利用 locate 命令查找 hosts 配置文件,如下:

[hxstrive@localhost ~]$ locate hosts | grep etc 
/etc/hosts
/etc/avahi/hosts
/etc/chromium/native-messaging-hosts
/etc/chromium/native-messaging-hosts/org.gnome.chrome_gnome_shell.json
/etc/opt/chrome/native-messaging-hosts
/etc/opt/chrome/native-messaging-hosts/org.gnome.chrome_gnome_shell.json
/etc/samba/lmhosts

上面的 grep etc 命令结合管道命令对 locate hosts 的结果进行过滤,linux 中配置文件大部分均位于 etc 目录,因此使用 grep etc 进行过滤。

更多关于命令详细参考手册,请使用 man 命令或者 --help 参数获取帮助信息

关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号