标签:
十年运维系列之基础篇 - Linux
作者:曾林
联系:1494445739@qq.com
版权:文章未经同意请勿转载
一、引言
Linux系统中含有非常多的文件!这就很自然地产生一个问题,那就是我们应该如何去查找文件。虽然我们知道Linux文件系统良好的组织架构,源自于类UNIX的操作系统代代传承的习俗,但是仅文件数量就会引起非常可怕的问题。
本章我们主要介绍两个用在Linux系统中搜索文件的工具。
同时,我们还会介绍一个通常与文件搜索命令一起使用、处理搜素结果文件列表的命令。
此外,还会介绍两个辅助工具。
二、locate——较简单的方式查找文件
locate命令通过快速搜索数据库,以寻找路径名与给定字符串相匹配的文件,同时输出所有匹配结果。例如,假定查找名称以zip字符串开头的程序,由于查找的是程序文件,所以可以认为包含所要查找的程序的目录名应以bin结尾。因此可以尝试下面的命令行:
shell> locate bin/zip
locate程序将搜索该路径名数据库,并输出文件名包含字符串bin/zip的所有文件。执行结果如下图所示:
有时搜索需求并不是那么简单和纯粹,这个时候就需要使用locate命令来结合grep工具来实现一些更有趣的搜索。如下图所示:
注:locate的搜索数据库从何而来?你也许曾注意到,有些Linux版本,系统刚刚安装好后locate命令并不能正常工作,但是如果第二天再尝试的话,就会发现它又能正确工作了,这到底是怎么回事呢?其实,是因为locate的搜索数据库由另一个叫做updatedb的程序来创建的,通常该程序作为一个cron任务定期执行。所谓cron任务就是指定期由cron守护进程执行的任务,多数装有locate命令的系统每天执行一次updatedb。由此可见,locate的搜索数据库并不是持续更新的,所以locate命令查找不到新的文件。解决方案就是切换到超级用户,然后手动执行一下updatedb程序。
标签:
原文地址:http://www.cnblogs.com/jplatformx/p/4317641.html