新西兰服务器

Linux系统locate命令怎么用


Linux系统locate命令怎么用

发布时间:2022-02-02 19:02:47 来源:高防服务器网 阅读:87 作者:小新 栏目:开发技术

小编给大家分享一下Linux系统locate命令怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

在Linux系统中 locate命令可以帮助用户迅速查找符合条件的文档,其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。

语法

 locate [-d ][--help][--version][范本样式...]

参数:

  • -b, basename 仅匹配路径名的基本名称

  • -c, count 只输出找到的数量

  • -d, database DBPATH 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db

  • -e, existing 仅打印当前现有文件的条目

  • -1 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。

  • -0, null 在输出上带有NUL的单独条目

  • -S, statistics 不搜索条目,打印有关每个数据库的统计信息

  • -q 安静模式,不会显示任何错误讯息。

  • -P, nofollow, -H 检查文件存在时不要遵循尾随的符号链接

  • -l, limit, -n LIMIT 将输出(或计数)限制为LIMIT个条目

  • -n 至多显示 n个输出。

  • -m, mmap 被忽略,为了向后兼容

  • -r, regexp REGEXP 使用基本正则表达式

  • regex 使用扩展正则表达式

  • -q, quiet 安静模式,不会显示任何错误讯息

  • -s, stdio 被忽略,为了向后兼容

  • -o 指定资料库存的名称。

  • -h, help  显示帮助

  • -i, ignore-case  忽略大小写

  • -V, version 显示版本信息

案例演示:

查找包含某个字符串的相关文件

 [root@localhost ~]# locate ifconfig   /home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/admin/scripts/ifconfig.sh   /usr/libexec/hypervkvpd/hv_set_ifconfig   /usr/sbin/ifconfig   /usr/sbin/pifconfig   /usr/share/man/de/man8/ifconfig.8.gz   /usr/share/man/fr/man8/ifconfig.8.gz   /usr/share/man/man8/ifconfig.8.gz   /usr/share/man/man8/pifconfig.8.gz   /usr/share/man/pt/man8/ifconfig.8.gz   /usr/share/man/zh_CN/man8/ifconfig.8.gz   [root@localhost ~]#

搜索目录下所有以 sh开头的文件

 [root@localhost ~]# locate /bin/sh   /home/oracle/app/oracle/product/11.2.0/dbhome_1/perl/bin/shasum   /usr/bin/sh   /usr/bin/sha1sum   /usr/bin/sha224sum   /usr/bin/sha256sum   /usr/bin/sha384sum

指定显示数量

如果显示的内容过多,可以使用 -n 选项来限定显示数量。

 [root@localhost ~]# locate -n 3 passwd   /etc/passwd   /etc/passwd-   /etc/pam.d/passwd   [root@localhost ~]#

匹配模式时忽略大小写区别

当查找不需要区分大小写时,使用 -i 选项。

 [root@localhost ~]# locate -i -n 5 passwd   /etc/passwd   /etc/passwd-   /etc/pam.d/passwd   /etc/security/opasswd   /home/oracle/app/oracle/product/11.2.0/dbhome_1/apex/images/htmldb/icons/32x32/item_passwd.gif   [root@localhost ~]#

搜索基本正则表达式 REGEXP 来代替模式

当需要查找符合特定规则的信息时,可以使用 -r 选项匹配相应的正则表达式。

 //查找以/var/lib/rpm开头的文件   [root@localhost ~]# locate -r ^/var/lib/rpm   /var/lib/rpm   /var/lib/rpm-state   /var/lib/rpm/.dbenv.lock   /var/lib/rpm/.rpm.lock   /var/lib/rpm/Basenames   /var/lib/rpm/Conflictname   /var/lib/rpm/Dirnames   /var/lib/rpm/Group   /var/lib/rpm/Installtid   //查找etc.conf结尾的文件   [root@localhost ~]# locate -r etc.conf$   /usr/lib/tmpfiles.d/etc.conf   [root@localhost ~]#

查找最近变动的文件

 # 新建文件   [root@localhost ~]# touch new_file   [root@localhost ~]# locate ~/new_file   [root@localhost ~]# updatedb   [root@localhost ~]# locate ~/new_file   /root/new_file   [root@localhost ~]#   # 删除文件   [root@localhost ~]# rm -rf file.txt   [root@localhost ~]# locate ~/file.txt   /root/file.txt   [root@localhost ~]# updatedb   [root@localhost ~]# locate ~/file.txt   [root@localhost ~]#

注意:使用 locate 命令查不到最近变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。

查看统计信息

 [deng@localhost test]$ locate -S   数据库 /var/lib/mlocate/mlocate.db:       18,935 文件夹       231,751 文件       13,753,723 文件名中的字节数       5,707,750 字节用于存储数据库   [deng@localhost test]$

查看passwd统计数量

 [root@localhost /]# locate -c passwd   183   [root@localhost /]#

update相关配置文件

 [root@localhost /]# vim /etc/updatedb.conf   [root@localhost /]#

以上是“Linux系统locate命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[