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. k8s、jenkins集成

    参考连接 http://www.uml.org.cn/jchgj/201804252.asp https://huanqiang.wang/2018/03/30/Jenkins-Gitlab-Kube ...

  2. Tools - 在线编译环境和工具汇总

    菜鸟教程 https://www.runoob.com/ 支持语言种类丰富,无需注册,包含教程.笔记.手册等内容. 菜鸟在线工具:https://c.runoob.com/ 菜鸟在线编译器:https ...

  3. velocity 自定义工具类接入

    网上的教程几乎都是同一篇: velocity 自定义工具类 - eggtk - CSDN 博客 但是教程有不完善的地方,我就补充一下. 补充: 引入的jar包和版本要一致.我们项目中因为没有定义确切版 ...

  4. php cli传递参数的方法

    php cli传递参数的方法 <pre>$options = "f:g:"; $opts = getopt( $options ); print_r($opts); & ...

  5. TypeScript(二)使用Webpack搭建环境

    今天继续来更新,本篇文章我们讲环境搭建,主要分享一些环境搭建的学习资源及安装步骤,解决一些安装时可能会出现的问题.下面就让我们一起进入学习第一步,搭建TypeScript环境:一. 环境搭建1.1. ...

  6. idea导入eclipse包乱码问题全局解决方案:

    IJ导入eclipse包乱码问题: 全局解决方案: 设置所在文件夹位置 1.从eclipse导入方式,发现还是乱码 2.导航栏点击文件->设置->editor->文件编码 将所在文件 ...

  7. LeetCode 1022. 从根到叶的二进制数之和(Sum of Root To Leaf Binary Numbers)

    1022. 从根到叶的二进制数之和 1022. Sum of Root To Leaf Binary Numbers 题目描述 Given a binary tree, each node has v ...

  8. SQL Server 数据库清空ldf日志文件

    USE [master] ALTER DATABASE [DB_Develop] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [DB_Develop ...

  9. java当中JDBC当中Scrollable和Updatable ResultSet的用法和Helloworld例子

    [学习笔记] 在前面的jdbc的Helloworld程序当中,我们接触了最简单的 Statement.那种Statement的光标只能向前移.意思就是访问完2,只能继续访问3,不能再回过头来访问1.还 ...

  10. oracle的jdbc的版本与jdk对应关系

    连接类型:1. JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动.因为它需要Oracle Call Interface and Net8, ...