在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吧。

linux中使用locate搜索文件方法记录的更多相关文章

  1. linux中增加swap分区文件的步骤方法

     一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临 ...

  2. <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向

    [root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...

  3. 在Linux中要修改一个文件夹或文件的权限

    在Linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,下面我写了几个简单的实例大家可参考一下. 语法如下: chmod [who] [+ | - | =] [mode] ...

  4. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  5. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  6. linux md5 加密字符串和文件方法

    linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...

  7. Linux中删除特殊名称文件的多种方式

    今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...

  8. linux 中的定时任务crontab使用方法

    linux 中的定时任务crontab使用方法: 切换到root用户,sudo su root (可以设置成不需要输入密码) sudo su - (需要输入当前帐号的密码才能进入.) crontab ...

  9. linux快速复制大量小文件方法 nc+tar【转】

    1,在需要对大量小文件进行移动或复制时,用cp.mv都会显得很没有效率,可以用tar先压缩再解压缩的方式.  2,在网络环境中传输时,可以再结合nc命令,通过管道和tcp端口进行传输.  nc和tar ...

随机推荐

  1. make -j [N] --jobs [=N] 增加效率

    阿里云的服务器,以前是最低配1核心cpu,make的时候非常慢.升级配置以后,发现make的效率丝毫没有增加.top命令查看发现cpu的利用率非常低,于是执行命令: make --help 在显示的结 ...

  2. Microsoft Dynamics CRM 2011 安装完全教程

    作者:卞功鑫,转载请保留.http://www.cnblogs.com/BinBinGo/p/4302612.html 环境介绍 WINDOWS 2008 R2 Datacenter Microsof ...

  3. 小朋友学C语言(7)

    数组 一.数组简介 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比 ...

  4. 编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v4.0.50727/Temporary ASP.NET Files/root .... 拒绝访问。

    此问题困扰良久,得终极解决方案 环境:windows 2008 server r2 + iis7 + .net framework4.5 解决:1. 错误信息中包含的目录“c:/Windows/Mic ...

  5. mysq更新(六) 单表查询 多表查询

      本节重点: 单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY fiel ...

  6. Spring学习之AOP详解

    aop使用方式 @Aspect注解 wildcards通配符: * 匹配任意数量的字符 + 匹配指定类及其子类 .. 一般用于匹配任意数的子包或参数 operators运算符 && 与 ...

  7. QT中使用自己定的类和Vector出现错误

    关于QT自定义类不能调用问题: 在Main()函数里面一定要定义include“XXX.cpp”include“XXX.h”,具体原因我也不知道为什么这样定义,是在一个贴吧看见的,弄了好久才解决. 第 ...

  8. uva-705-深搜

    题意,就是根据斜线组成的迷宫,判断能够组成多少个闭环. 解法: 放大俩倍或者三倍 俩倍 \     ------->10 01 三倍 \ ------->100 010 001 然后深搜, ...

  9. 最近开始研究php的缓存技术,来个系统自带的OPcache

    最近开始研究php的缓存技术,来个系统自带的OPcache php5.5以上版本  系统自带 PHP5.2-5.4 可通过扩展来安装 OPcache是 zend出品  比apc的优势在于  长期更新 ...

  10. myeclipse配置gradle插件

    首先,到Gradle官网下载最新版的gradle,已经到了2.13了 下载地址是 http://gradle.org/gradle-download/ 下载下来解压到任意目录 然后配置Windows环 ...