|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
* y8 w! N- C; u" M) X
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
+ ~! s* F5 Y' M: W% v+ L! X% ?1 Q+ Z# a
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
* d8 s4 L% Q' v
; L; x8 I5 S ?% U! ]语法
1 N3 c6 ~8 C7 k: i8 r& wlocate [-d ][--help][--version][范本样式...]
( l1 f9 `4 W6 V( u$ [参数:! t% \ x& _+ |% p* B
# T& n3 I4 N! m$ P+ b# ?' L/ B, w
-b, --basename -- 仅匹配路径名的基本名称( v2 o d a; Q+ Z. g
-c, --count -- 只输出找到的数量9 u# U8 |2 N- `# y4 _! ~
-d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
# Z3 i* r' ~6 i3 x-e, --existing -- 仅打印当前现有文件的条目
3 j+ t( Z1 A# k5 [8 m-1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
6 B% n$ f, X0 B1 c+ R/ m-0, --null -- 在输出上带有NUL的单独条目# M( x/ C" j8 O2 Q
-S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息6 z% a* L: `1 C3 t2 k$ Q
-q -- 安静模式,不会显示任何错误讯息。
, X: a4 Q# W1 Y: _& n% y-P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接3 e3 M& p4 ]8 ^8 x8 Y7 @; k
-l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目; G3 G" f0 O+ G) \% |) V6 T& N4 s
-n -- 至多显示 n个输出。
4 _, M$ d$ {# f-m, --mmap -- 被忽略,为了向后兼容6 ?+ X" o* l R+ C s
-r, --regexp REGEXP -- 使用基本正则表达式
0 ~ S m( g$ |8 x M+ U' d--regex -- 使用扩展正则表达式
; o% ^4 ]8 L( [$ F( z. m-q, --quiet -- 安静模式,不会显示任何错误讯息2 K9 S. r2 E: B& n {0 j; h2 s
-s, --stdio -- 被忽略,为了向后兼容
1 ^* i1 ?6 u. E% L2 l8 r-o -- 指定资料库存的名称。
1 M& T! A& P; n9 R" W/ ?-h, --help -- 显示帮助
* H. a7 c+ n" s' e/ a) Z( o# |) R" C$ ^-i, --ignore-case -- 忽略大小写
* {' B/ Y: E1 X/ m' ^; s-V, --version -- 显示版本信息
$ k0 R# @& M' k1 H实例) Z& q, R; |; X* N# E* L
查找 passwd 文件,输入以下命令: p( s+ u3 Z) c( J4 y7 X
; U4 W" j3 y' I* ]; d4 H2 y. o
locate passwd* m4 V$ k$ l q1 K( @
搜索 etc 目录下所有以 sh 开头的文件 :4 M3 r8 v; k5 \+ F
7 b5 ^+ d# b* Z/ y- llocate /etc/sh
7 t* \: `+ Z" A, U忽略大小写搜索当前用户目录下所有以 r 开头的文件 :" Y' q8 @ ^/ ~3 V
. w* K( B3 `! d% P B
locate -i ~/r8 B$ E7 O" I. l) [2 f, |4 k
附加说明
: `/ h& T- d5 W% u& ~2 R) Nlocate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。/ T' F6 E: ^, A! E
( j" c! f) d( g A9 J2 N
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:, r; Z0 @- e+ G# `9 H( a
! Y4 |( h& g0 a/ m$ @$ E+ lupdatedb7 V! z9 a& }% n6 M* e
默认情况下 updatedb 每天执行一次。 |
|