locate执行前先 updatedb

然后locate vstore 就可以了

find 加 -name

比如 find -name vstore

按理说 locate要快点,毕竟是数据库嘛

一:locate命令

locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

即先运行:updatedb(无论在那个目录中均可,可以放在crontab中 )后在   /var/lib/slocate/ 下生成 slocate.db 数据库即可快速查找。在命令提示符下直接执行#updatedb 命令即可:

例如:查找相关字issue

$ locate issue

/etc/issue

/etc/issue.net

/usr/man/man5/issue.5

/usr/man/man5/issue.net.5

二:find命令:

功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。

语法:find 起始目录 寻找条件 操作

说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

该命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件。逻辑运算符and、or、not的含义为:

(1)and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条件都满足时,寻找条件才算满足。例如:

$ find –name ’tmp’ –xtype c -user ’inin’

该命令寻找三个给定条件都满足的所有文件。

(2)or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就算满足。例如:

$ find –name ’tmp’ –o –name ’mina*’

该命令查询文件名为’tmp’或是匹配’mina*’的所有文件。

(3)not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件。例如:

$ find ! –name ’tmp’

该命令查询文件名不是’tmp’的所有文件。

需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“”来去除括号的意义。

例:$ find (–name ’tmp’ –xtype c -user ’inin’ )

寻找条件有以下选项:

首先,下列各个选项中的n值可以有三种输入方式,假设n为20,则:

+20 表示20以后(21,22,23等)

-20 表示20以前(19,18,17等)

20 表示正好是20

1. 以名称和文件属性查找。

- name ’字串’ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

- lname ’字串’ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[ ]。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group ’字串’ 查找属于用户组名为所给字串的所有的文件。

-user ’字串’ 查找属于用户名为所给字串的所有的文件。

-empty 查找大小为0的目录或文件。

-path ’字串’ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。

-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b,代表512字节的块。

-type x 查找类型为x的文件,x为下列字符之一:

b 块设备文件

c 字符设备文件

d 目录文件

p 命名管道(FIFO)

f 普通文件

l 符号链接文件(symbolic links)

s socket文件

-xtype x 与-type基本相同,但只查找符号链接文件。

2. 以时间为条件查找

- amin n 查找n分钟以前被访问过的所有文件。

- atime n 查找n天以前被访问过的所有文件。

- cmin n 查找n分钟以前文件状态被修改过的所有文件。

- ctime n 查找n天以前文件状态被修改过的所有文件。

- mmin n 查找n分钟以前文件内容被修改过的所有文件。

- mtime n 查找n天以前文件内容被修改过的所有文件。

3. 可执行的操作

- exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ ;”结束。

- ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。

- ls 详细列出所找到的所有文件。

- fprintf 文件名 将找到的文件名写入指定文件。

- print 在标准输出设备上显示查找出的文件名。

- printf 格式 格式的写法请参考有关C语言的书。

例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。

$ find . - name ‘main*’ - exec more {} ;

例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。

$ find . (- name a.out - o - name ‘*.o’)

> - atime +7 - exec rm {} ;

说明如下:

命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。(和)表示括号(),其中的“”称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ };)。其中{ }代表当前查到的符合条件的文件名,;则是语法所要求的。上述命令中第一行的最后一个是续行符。当命令太长而在一行写不下时,可输入一个,之后系统将显示一个>,指示用户继续输入命令。

find locate的更多相关文章

  1. 函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法

    1. 用法一 LOCATE(substr,str) POSITION(substr IN str) 函数返回子串substr在字符串str中第一次出现的位置.如果子串substr在str中不存在,返回 ...

  2. Mac 下locate命令使用问题WARNING: The locate database (/var/db/locate.database) does not exist.

    想在Mac下使用locate时,提醒数据库没创建: WARNING: The locate database (/var/db/locate.database) does not exist. To ...

  3. centos 使用 locate

    centos 第一次使用locate时报错: locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录 因为locate相关的索 ...

  4. locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory

    # locate zabbix locate: can not open `/var/lib/mlocate/mlocate.db': No such file or directory locate ...

  5. locate 最快的查找文件的命令 NB

    我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...

  6. 每天一个linux命令(18):locate 命令

    locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...

  7. iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)

    从2月14日开始,上传程序的同学可能会遇到提示上传失败的提示. 并且打开自己的钥匙串,发现所有的证书全部都显示此证书签发者无效. 出现以下情况: Failed to locate or generat ...

  8. Perl 脚本报Can't locate Mail/Sender.pm 解决办法

        在新的Linux Server(Red Hat Enterprise Linux Server release 5.7 (Tikanga))上配置磁盘空间告警的perl脚本后,测试时报如下错误 ...

  9. mysql中类似indexOf的方法LOCATE()

     LOCATE(substr,str), LOCATE(substr,str,pos) 第一个语法返回substr在字符串str 的第一个出现的位置. 第二个语法返回子符串 substr 在字符串st ...

  10. Linux下查找文件:which、whereis、locate、find 命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which       查看可执行文件的位置,通过环境变量查whereis    查看文件的位置,通过数据库查,每 ...

随机推荐

  1. 基于Solr实现HBase的二级索引

    文章来源:http://www.open-open.com/lib/view/open1421501717312.html 实现目的: 由于hbase基于行健有序存储,在查询时使用行健十分高效,然后想 ...

  2. 开放产品开发(OPD):OPD框架

    在 开放产品开发(OPD):开篇 中讲了一下OPD是什么,以及它主要指引的方法,这篇文字将给大家介绍一下OPD框架. 一个公司有三种经营模式,像游戏代理的属于运营型,做企业定制项目管理软件的属于项目型 ...

  3. 【转】MSSQLServer数据库事务锁机制分析

    锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性.各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别.目前,大多数数据库管理系统都或多或少具有自我调 ...

  4. mysql 行锁一则

       CREATE TABLE `t1` (  `id` int(11) NOT NULL DEFAULT '0',  `name` varchar(20) DEFAULT NULL,  PRIMAR ...

  5. 【Win10】【译】提交 UWP 应用时遇到意料之外的语言?

    原文链接:http://metronuggets.com/2015/12/03/got-unexpected-extra-languages-in-your-uwp-store-submission/ ...

  6. 【Unity】13.3 Realtime GI示例

    分类:Unity.C#.VS2015 创建日期:2016-04-19 一.简介 使用简单示例而不是使用实际示例的好处是能让你快速理解光照贴图和光影效果相关的概念和基本设置办法,这样可避免实际复杂场景中 ...

  7. sql添加合计

    在项目中发现有这样的写法 SELECT ZoneID,CountSQAZFZSBJZ3G+CountSQGZJRJZSL3G AS column1FROM G3MulticarrierSiteCove ...

  8. custom struts framework

    1. Difference between stucts1 and struts2 struts1 : Servlet used as Controller , you can visit the S ...

  9. 一个小笔记(7):EN_1

    For nearly ten years, the Unified Modeling Language(UML) has been the industry standard for visualiz ...

  10. springMVC图片文件上传功能的实现

    在工程依赖库下添加文件上传jar包 commons-fileupload-1.2.2.jar commons-io-2.4.jar 2.jsp页面设置form表单属性enctype 在表单中上传图片时 ...