Linux核心应用命令速查
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.19 locate:搜索文件

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

用法:locate[选项]相关字

主要选项如下。

● -u,-U:<dir>建立数据库,-u会由根目录开始,-U则可以指定开始的位置。

● -e <dir>:将<dir>排除在寻找的范围之外。

● -l <level>:如果<level>是1,则激活安全模式。

● -f <filetype>:将特定的文件目录排除在外。

● -q:安静模式,不会显示任何错误信息。

● -n:<num>至多显示<num>个输出。

● -r:<reg>使用正规表达式<reg>作为寻找的条件。

● -o:<file>指定数据库的名称。

● -d:<dir>指定数据库的路径。

说明:有时候,往往知道某一文件或目录存在,却不知该到哪里去找到它,这时可以使用locate命令来搜寻文件或目录。同find命令相比较,locate命令从数据库中查找,而不是每次搜索文件系统。因为是从数据库中查找,locate的速度远远快于find命令。但是,使用locate命令查找的结果仅仅是在当前数据库中。locate数据库是通过cron的日任务更新的,你也可以手工进行,使用“locate -u;updatedb”命令完成(通常需要root权限)。当我们建立好这个数据库后,就可以方便地搜寻所需文件了。

应用实例如下。

(1)建立数据库

        locate -u

(2)查找所有包含字符“kde”并且在目录bin中的文件

        # locate kde | grep bin
        /sbin/blockdev
        /usr/kerberos/bin/kdestroy
        /usr/sbin/lockdev