linux命令locate

locate命令其实是”find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含 有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可 以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate [-q] [-d ] [–database=]
locate [-r ] [–regexp=]
locate [-qv] [-o ] [–output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [–version] [–help]

在一般的 distribution 之中,数据库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name的型式就可以了。 参数:
-u -U  建立数据库,-u 会由根目录开始,-U 则可以指定开始的位置。
-e     将排除在寻找的范围之外。
-l     如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。
-f     将特定的档案系统排除在外,例如我们没有到理要把 proc 档案系统中的档案放在数据库中。
-q     安静模式,不会显示任何错误讯息。
-n     至多显示 个输出。
-r     使用正规运算式 做寻找的条件。
-o     指定数据库存的名称。
-d     指定数据库的路径
-h     显示辅助讯息
-v     显示更多的讯息
-V     显示程序的版本讯息 范例:

locate chdrv : 寻找所有叫 chdrv 的档案
locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个
locate -u : 建立数据库

Tagged:

Comments are closed.