locate - 文件名搜索命令

用于查找文件

格式为:locate 文件名

该命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录。

因为该命令是直接在数据库内搜索(/var/lib/mlocate为locate所搜索的数据库,发型版本不同,文件名可能有所不同),而不是遍历整个硬盘,所以搜索速度较快。

但由于数据库不是实时更新的,所以缺点是新建的文件会搜索不到,可使用updatedb命令来更新数据库。

需要注意locate的配置文件/etc/updatedb.conf:

  

PRUNE_BIND_MOUNTS 等于yes时候,下面三个规则全部生效,等于no时候,下面三个规则全不生效。

PRUNEFS 不搜索的文件系统

PRUNENAMES 不搜索的文件后缀

PRUNEPATHS 不搜索的路径

whereis、which - 命令搜索命令

whereis

格式为:whereis,命令名

用于查找命令所在的路径和其帮助文档所在路径,其只能搜索系统命令,而不能用户自己创建的文件。

which

格式为:which 文件名

which指令会在环境变量$PATH设置的目录里查找符合条件的文件。

find - 文件搜索命令

格式为:find [搜索范围] [搜索条件]

find命令支持使用通配符

*       匹配任意内容

?     匹配任意一个字符

[]       匹配任意一个中括号内的字符

搜索条件:

-name name    查找名称为name的文件

-iname name   查找名称为name的文件,不区分大小写

-user root         查找所有者为root的文件

-nouser    搜索没有所有者的文件

-mtime     修改文件内容时间

-ctime       修改文件属性时间

-atime      文件访问时间

-[x]time -10      十天内

-[x]time 10        十天当天

-[x]time +10     十天前

-size

-size -25k          小于25k的文件

-size 25k            等于25k的文件

-size +25k                   大于25k的文件

-inum 262242  查找i节点为262242的文件

-exec 命令2 {}\;      跟在命令1之后,命令1的执行结果交给命令2来执行

find命令的条件可以使用-a(and)和-o(or)来逻辑连接两个条件来搜索文件

grep - 字符串搜索命令

格式为:grep [选项] 字符串 文件名

在文件中匹配复合条件的字符串

选项:

-i       忽略大小写

-v      排除指定字符串

find和grep的区别

find命令:在系统当中搜索符合条件的文件,如果需要匹配,使用通配符匹配,通配符是完全匹配

grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配

所以我们要搜索文件名时,使用find+通配符,但当我们搜索文件内容时,使用grep+正则表达式

整理自:慕课网(www.imooc.com)

Linux 之 搜索的更多相关文章

  1. linux常用搜索文件命令

    使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索.搜索文件的命令为”find“:”locate“:”whereis“:”which“:”type“ 方法/步骤     ...

  2. Linux下搜索文件find、which、whereis、locate

    Linux下搜索文件find.which.whereis.locate: - which 寻找“执行文件” - -a 将所有可找到的命令均列出,而不仅仅列出第一个找到的命令名称 - whereis 寻 ...

  3. 在Linux下搜索文件

    在Linux下搜索文件============================= 1,which 查找可执行文件的绝对路径 [root@aminglinux ~]# which cat /bin/ca ...

  4. Linux文本搜索及截取操作

    Linux文本搜索及截取操作 cat 查看 grep 搜索 awk 截取 查看dna-server.xml 文件的内容 [root@localhost servers]# cat cwag9002/w ...

  5. Linux如何搜索查找文件里面内容

    在Linux系统当中,如何搜.索查找文件里面的内容呢? 这个应该是系统维护.管理当中遇到最常见的需求.那么下面介绍,总结一下如何搜索.查找文件当中的内容. 搜索.查找文件当中的内容,一般最常用的是gr ...

  6. Linux文件搜索命令

    文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...

  7. Atitit.软件guibuttonand面板---os区-----linux windows搜索文件 目录

    Atitit.软件guibuttonand面板---os区-----搜索文件 1. Find 1 2. 寻找文件夹 1 3. 2. Locate// everything 1 4. 3. Wherei ...

  8. whereis linux文件搜索

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...

  9. Linux系列教程(六)——Linux文件搜索命令

    前一篇博客我们讲解了Linux链接命令和权限管理命令, 通过 ln -s  链接名 表示创建软链接,不加-s表示创建硬链接:还有三个更改权限的命令,chmod命令可以更改文件或目录权限,chown命令 ...

  10. linux 中搜索命令的对比

    1.find find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和 ...

随机推荐

  1. lumen伪静态路由设置示例

    lumen路由文件中的配置: $app->get('info-{tid}.html', 'ThreadController@palmInfo'); 控制器中代码示例: public functi ...

  2. Cas(03)——Cas Server中各配置文件介绍

    Cas Server中各配置文件介绍 Cas Server中所有的配置文件都是放在WEB-INF目录及其子目录下的. 在WEB-INF/classes下的配置文件有: l  cas-theme-def ...

  3. PHPStudy后门事件分析

    PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门.经过分析除了有反向连接木马之外,还可以正向执行任意php代码. 影响版本 P ...

  4. BP神经网络设计常用的基本方法和实用技术

    尽管神经网络的研究和应用已经取得巨大成功,但在网络的开发设计方面至今仍没有一套完善的理论做指导,应用中采取的主要设计方法是,在充分了解待解决问题的基础上将经验与试探相结合,通过多次改进性试验,最终选出 ...

  5. 洛谷 题解 UVA12661 【有趣的赛车比赛 Funny Car Racing】

    [题意] 在一个赛车比赛中,赛道有\(n(n<=300)\)个交叉点和\(m(m<=50000)\)条单向道路.有趣的是,每条道路都是周期性关闭的.每条道路用5个整数\(u,v,a,b,t ...

  6. git取消追踪本地某个文件

    git rm --cached readme1.txt    删除readme1.txt的跟踪,并保留在本地. git rm --f readme1.txt    删除readme1.txt的跟踪,并 ...

  7. Linux如何查看进程、杀死进程、启动进程

    1.查看进程:ps命令 下面的命令还没实践,仅仅供你参考:可以用man ps查看格式,只不过是一个小工具而已! ps a 显示现行终端机下的所有程序,包括其他用户的程序.    ps -A 显示所有程 ...

  8. QT json数据的应用(cJSON)

    json数据可保存小量的数据在本地的json文件中.QT有两种方式操作:(1).cJSON (2).QT的操作json数据的类. 应用:将监控预案数据保存在本地中. 1.首先根据预案结构创建一个jso ...

  9. scrapy框架4——下载中间件的使用

    一.下载中间件 下载中间件是scrapy提供用于用于在爬虫过程中可修改Request和Response,用于扩展scrapy的功能:比如: 可以在请求被Download之前,请求头部加上某些信息(例如 ...

  10. Linux 进程地址空间及原理

    1.程序地址空间      首先,我们先看学c/c++时候学到的程序内存布局: 准确地说,程序地址空间其实就是进程的地址空间,实际就是pcb中的mm_struct. 接下来,我们用fork()演示一下 ...