linux中locate搜索文件,linux中使用locate搜索文件方法记录

在linux中,有时用apt或者yum等软件包管理工具直接安装软件的时候,不知道软件到底安装到哪里去了,配置文件放哪里?这个时候就可以使用搜索命令locate来找到这些文件。海词上locate翻译为找出的意思,非常形象了。

1、命令格式

locate -bic 关键词(可以是正则表达式)

各参数表示含义如下:

-b:basename,只搜索文件名包含关键词的的文件

-c:count,统计搜索到的总数

-i:ignore case,忽略大小写

关键词:就是搜索的关键词,使用正则表达式可以指定目录进行搜索,非常有用。

这边几个参数是笔者平时比较常用的,其它参数的使用可以通过man locate查看。另外正则表达式的使用会比较多,笔者常用来定位到某个目录下进行查找。

2、命令测试

使用locate命令之前,有一个要先处理下。查看man手册可以发现locate这个命令实际上是在一个数据文件内搜索的,在ubuntu 12.04下这个文件是/var/lib/mlocate/mlocate.db,先更新下这个数据文件,使用updatedb命令就OK了:

$ sudo updatedb

如果不更新,会出现明明有相关文件却找不到的问题,切记。

寻找文件路径中包含apache的文件

$ locate apache

.....省略若干结果......

/etc/apache2

/etc/apache2/apache2.conf

/etc/apache2/conf.d

/etc/apache2/envvars

/etc/apache2/httpd.conf

/etc/apache2/magic

.....省略若干结果......

从上面可以看到,只要文件路径中包含有字符”apache”的文件就会列出来,如果只需要列出文件名包含”apache”字符的文件,使用-b参数就可以了。

$ locate -b apache

.....省略若干结果......

/etc/apache2

/etc/apache2/apache2.conf

/etc/apparmor.d/abstractions/apache2-common

/etc/bash_completion.d/apache2.2-common

/etc/bash_completion.d/apache2ctl

.....省略若干结果......

搜索时忽略大小写

$ locate -i APACHE

统计搜索到的文件总数

$ locate -c apache

搜索指定目录中包含关键词的文件

$ locate -r ^/etc/*apache

上例运用到了正则表达式,是用来搜索/etc目录下包含apache的文件。通常情况下,如果不定位目录的话,搜索结果会非常多,定位目录能够更加精确的找到相应的文件。

总结

在linux中,也可以使用find来搜索文件,和locate不同的是find会实际扫描磁盘,所以效率上要比locate低些。不过find命令的搜索功能要比locate强大,如果locate搞不定,就用find吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值