locate简介及用法

简介

locate命令用于查找文件,Locate可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。所以它需要一个数据库(默认:slocate.db),一个配置文件(updatedb.conf),一个crontab(定时执行)

  • 先运行updatedb, 可直接命令执行,也可以放在crontab里面执行
  • 然后在生成的/var/lib/slocate/slocate.db数据库中查找。

所以

  • locate的速度比find快,因为它并不是真的查找文件,而是查数据库
  • locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护.
  • locate的升级数据库命令:locate -- u   #注意之间有空格

# ls -lart mlocate.db                    #更新前

-rw-r----- 1 root slocate 1286901 Aug  8 03:23 mlocate.db

# updatedb

# ls -lart mlocate.db                    #更新后

-rw-r----- 1 root slocate 1296268 Aug  8 11:10 mlocate.db

用法

# locate -S           //-->查看统计信息,目录,文件,比特数适用情况

Database /var/lib/mlocate/mlocate.db:
    3,315 directories
    37,228 files
    1,504,439 bytes in file names
    594,851 bytes used to store database

# locate -V          //-->查看版本信息  

<pre name="code" class="plain">mlocate 0.22.2
Copyright (C) 2007 Red Hat, Inc. All rights reserved.
This software is distributed under the GPL v.2.
This program is provided with NO WARRANTY, to the extent permitted by law.

# locate -h          //-->查看帮助信息

Usage: locate [OPTION]... [PATTERN]...
Search for entries in a mlocate database.
  -b, --basename         match only the base name of path names
  -c, --count            only print number of found entries
  -d, --database DBPATH  use DBPATH instead of default database (which is
                         /var/lib/mlocate/mlocate.db)
  -e, --existing         only print entries for currently existing files
  -L, --follow           follow trailing symbolic links when checking file
                         existence (default)
  -h, --help             print this help
  -i, --ignore-case      ignore case distinctions when matching patterns
  -l, --limit, -n LIMIT  limit output (or counting) to LIMIT entries
  -m, --mmap             ignored, for backward compatibility
  -P, --nofollow, -H     don't follow trailing symbolic links when checking file
                         existence
  -0, --null             separate entries with NUL on output
  -S, --statistics       don't search for entries, print statistics about each
                         used database
  -q, --quiet            report no error messages about reading databases
  -r, --regexp REGEXP    search for basic regexp REGEXP instead of patterns
      --regex            patterns are extended regexps
  -s, --stdio            ignored, for backward compatibility
  -V, --version          print version information
  -w, --wholename        match whole path name (default)

# locate /etc/sh           //-->查找/etc/sh*

/etc/shadow
/etc/shadow-
/etc/shadow.bup
/etc/shadow.bup.20140725-214324
/etc/shells

# locate -n 5 apache       //-->只找带有apache目录,显示其中5行

/etc/selinux/targeted/modules/active/modules/apache.pp
/opt/cpf/oma/3rdparty/apache-tomcat
/opt/cpf/oma/3rdparty/apache-tomcat/LICENSE
/opt/cpf/oma/3rdparty/apache-tomcat/NOTICE
/opt/cpf/oma/3rdparty/apache-tomcat/RELEASE-NOTES

# locate -r makefile$      //-->查找结尾为makefile的文件目录

/usr/share/doc/bcel-5.2/verifier/GNUmakefile

# locate -n 3 -r  ^\/opt   //-->查找以/opt开头的目录,且只显示3行

/opt
/opt/cpf
/opt/oss

#locate -i /HTTP           //-->查找/HTTP目录,忽略大小写

/usr/share/perl5/Net/HTTP/NB.pm
/usr/share/perl5/URI/http.pm
/usr/share/perl5/URI/https.pm

# locate -c httpd.conf     //-->统计查找到的数量 

3

# cat /etc/updatedb.conf   //-->配置文件

PRUNE_BIND_MOUNTS = "yes"
PRUNEFS="9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs efs100 lofs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache
/var/spool/cups /var/spool/squid /var/tmp"
PRUNEPATHS="/efs /efsroots"
export PRUNEPATHS

locate简介及用法,布布扣,bubuko.com

时间: 2024-12-15 10:25:07

locate简介及用法的相关文章

IOS中 Block简介与用法(一)

?Block简介: Block的实际行为和Function很像,最大的差别是在可以存取同一个Scope的变量值.Block实体形式如下: ^(传入参数列){行为主体}; Block实体开头是"^",接着是由小括号所包起来的参数列(比如 int a, int b, int c),行为主体由大括号包起来,专有名字叫做block literal.行为主体可以用return回传值,类型会被compiler自动辨别.如果没有参数列要写成: ^(void). 例如下面的一个例子: [cpp] vi

btrfs文件系统的简介和用法

btrfs文件系统:      Btrfs(B-tree 档案系统, 通常念成 Butter FS,Better FS 或 Btree FS),采用 GPL 授权,是由 Oracle 于 2007 年宣布并进行中的支持写入 时复制(COW)的文件系统.目标是取代 Linux 目前的 ext3 文 件系统,改善 ext3 的限制,特别是单个文件的大小,总文件系统大小或文件检查和加入 ext3 未支持的功能,如可写快照(writable snapshots).快照的快照 (snapshots of

Handler机制详述1---Handler的简介和用法

1.Handler简介 handler是Android系统封装的用于线程更新UI,消息处理的机制. [说明] 查看Android Framework源码可以看到,常见的Activity的生命周期onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()都是通过handler发送不同Message,AMS(Activity Manager Service)通过Handler向ActivityThread发送消息,在Acti

stringstream类的简介和用法

一.简介 <sstream>类库定义了三种类:istringstream,ostringstream,stringstream.分别用来进行流的输入,流的输出,输入输出操作.在此演示stringstream的使用.**stringstream最大的特点是可以很方便的实现各种数据类型的转换,不需要像C语言中转换那么麻烦,而且转换非常安全.所以stringstream经常用于方便安全的类型转换. 二.用法 (1)数据的分割(string --> string) 1 #include<s

JavaBean简介和用法

一.JavaBean的含义 JavaBean是使用Java语言开发的一个可重用组件,能使Html代码与JAVA代码分离,并节省开发时间,简单的说就是一个包含了setter和getter以及至少一个无参构造方法的JAVA类,在框架中或其他方面也管它叫做PO,VO,TO等. 例如: package pojo;         public class Person {        private String name;        private int age;        public

Element_Select简介与用法

一.Select简介 当选项过多时,使用下拉菜单展示并选择内容. 二.Select使用 <template> <div id="app"> <el-select v-model="value" placeholder="请选择" class="labelSelectContent> <el-option v-for="item in options" :key="i

【转】JSON简介以及用法代码汇总

什么是JSON? JavaScript 对象表示法(JavaScript Object Notation). JSON是一种轻量级的数据交换格式,某个JSON格式的文件内部譬如可以长成这样: { "name": "hanzichi", "sex": "male" } 看起来都是key-value的键值对,很像js的对象吧?没错,但同时JSON表示不服,我不能跟js的对象长成一样啊,我得有我自己的个性,于是规定键-值对中的键必须

typeof和instanceof简介及用法

typeof 使用方式:typeof a 或者 typeof (a) 返回一个string类型的值 顾名思义,这货是检查类型的,输出的是一个string值,直接看下面的检测代码: console.log(typeof 'i am a string'); // string console.log(typeof true); // boolean console.log(typeof 10); // number console.log(typeof undefined); // undefine

JSON简介以及用法代码汇总

什么是JSON? JavaScript 对象表示法(JavaScript Object Notation). JSON是一种轻量级的数据交换格式,某个JSON格式的文件内部譬如可以长成这样: { "name": "hanzichi", "sex": "male" } 看起来都是key-value的键值对,很像js的对象吧?没错,但同时JSON表示不服,我不能跟js的对象长成一样啊,我得有我自己的个性,于是规定键-值对中的键必须