温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统locate命令怎么用

发布时间:2022-02-02 19:02:47 来源:亿速云 阅读:361 作者:小新 栏目:开发技术

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

在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命令怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI