名称:locate
. }" j& F. M3 _$ e; {+ ~0 G, V5 e使用权限:所有使用者
) _6 i- v/ u' V# _5 i& g使用方式:locate[-q][-d][--database=]
* ?( O+ f7 c/ t5 q# Dlocate[-r][--regexp=]
) Q* m4 K7 N' K l! D3 X
locate[-qv][-o][--output=]
8 h) U( D8 C2 V+ d8 b4 M
locate[-e][-f]%26lt;[-l][-c]
' N& d e) ~; X5 \$ E%26lt;[-U][-u]%26gt;
7 R$ Z! }9 [+ e$ E0 P1 n4 llocate[-Vh][--version][--help]
3 G7 r5 c8 K. b2 e! t" z+ `说明:
8 Q$ P( I1 M/ B0 Q- @; j
. s& T' y5 W$ _" k2 z
locate让使用者可以很快速的搜寻档案
系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的
数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
% S% Q. ^8 P# J, F
5 J" T& @: A8 s$ ]6 @0 S" t$ ]& p
在一般的distribution之中,数据库的建立都被放在contab中自动执行。一般使用者在使用时只要用
+ n7 M0 T. j; Z$ ~ ~3 Y8 T2 H# X$ p& K. l" z
#locateyour_file_name
6 K2 v# ?# I& B9 l- D$ s$ C) |2 {& G1 n/ K0 T1 }# f' Z
的型式就可以了。参数:
4 N' ~- w( p0 ^! t
-u
1 m; c, z# o; m0 d) c0 e' H. |
-U
+ S. A J; I# z$ N3 x) A4 r) a( n) `
& O) i- f5 D3 J6 y: f* o建立数据库,-u会由根目录开始,-U则可以指定开始的位置。
' u6 g, u6 j% J* s, \ P5 w
8 T q" a9 U6 h2 A-e
* P3 K V9 @1 s: R( p5 R: ^% G ` {6 m* \1 ]
将
2 G' {5 w5 E$ ~! t5 O# R8 W3 ^
排除在寻找的范围之外。
5 N" @( u4 Y: I2 p
1 @7 z O+ s1 [$ n7 B/ K0 o-l
- q2 I9 A- W* f6 U如果是1.则启动
安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始
速度减慢,因为locate必须至实际的档案系统中取得档案的权限资料。
% o/ j" u: l3 Z2 B4 D4 v$ U J8 R" c
1 ^8 _' o: u T/ X' }-f
" i }- v- @0 m. X, z, Y将特定的档案系统排除在外,例如我们没有到理要把proc档案系统中的档案放在数据库中。
: r$ [4 t' {3 H( G/ }
9 T5 s: _3 P2 n; h3 P
-q
$ O% L& ]5 `: h% m2 K% @& X安静模式,不会显示任何错误讯息。
' o4 T/ h5 q/ z: z I! p1 q, a! h/ q& | z0 f
-n
9 g+ W9 Y' p% s( m" k8 z- j( q至多显示个输出。
: e+ W* a1 l; Y, N6 v5 @9 A0 h/ b+ C c0 p
-r
4 T6 A8 m! ^9 g使用正规运算式做寻找的条件。
: U0 U5 r0 N8 j' o T! h8 u0 l7 ?
, x }. k: p% y-o
1 |) e# e7 g# g( r3 [. y2 H
指定数据库存的名称。
; f- y" q8 o( N# x/ ? _* s5 \
8 N6 Y" a7 v6 F1 V; H U# l-d
- t6 k3 h! t0 P0 x: R' T
$ g, v/ O+ V4 b& t) U指定数据库的路径
" _. q9 \# Z+ K
3 k* W" v( o0 W. a
-h
5 k5 f, a) a0 P, y0 s5 P显示辅助讯息
4 w9 v9 M/ f8 g+ ~& X9 i% U
, Q9 `7 o2 M+ ?( E* ]-v
- E3 i* `+ ?* V. l
显示更多的讯息
) e* f# @; R. |" M+ K. @
! ~. X8 U3 s* z2 t4 M7 t-V
6 J8 ?5 @4 ?: |4 l j6 ?+ U6 s
显示
程序的版本讯息范例:
. J. J+ @6 C: F$ V2 c6 [8 N! R6 E, ?6 p+ h( m2 Y- p( }# d( K
locatechdrv:寻找所有叫chdrv的档案
; v7 x1 C* E# l% M9 k5 B9 ~locate-n100a.out:寻找所有叫a.out的档案,但最多只显示100个
2 y- B3 m" C9 ~0 K
[color=#FFFFFF']
4 }& |3 [1 a$ A+ y, B
6 K& J( ~3 v' Q0 x4 ^6 K$ N
locate-u:建立数据库
! K9 G, S: S" Y' f' Y/ F8 |
% ?0 g8 H5 `6 @2 a n# K
7 m5 J5 o5 h; K6 T+ s# t0 P4 Q0 X+ C# |" J3 ~& L7 i
& R" g5 ?& l; j. O5 Q( K6 M* g0 alocate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由crondaemon
周期性建立的,locate命令在搜寻数据库时比由整个由
硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)
! Z& _1 d3 ~9 X1 g7 s( G6 Y
6 Y/ ]1 m/ c) [; R6 N
locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本样式,如指定范本为kcpa*ner,locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。
& R+ F5 N) Z& p) X* G7 F" b/ Q& n1 k) Q* y$ |% V
locate指令和find找寻档案的
功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由
操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
8 F0 G. |% T% ]5 H8 O不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocate%26;#45685;该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。
9 Z% V8 y5 ~: s- T) Q; p2 p2 t
转自:动态网制作
指南www.knowsky.com