|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
`* Q* C& r8 ~4 r, E( ^Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。/ o' Q) C0 E) v/ s, T
. U% B7 x( e0 W/ ~$ ]9 E
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
- A1 v4 a# I, f6 Q4 ~+ W
0 o3 I8 Z9 B4 S" i8 U语法
. y, f6 a5 h! ?# Glocate [-d ][--help][--version][范本样式...]5 }( c, D* M) l) N# e- I
参数:7 D" |# K& k! w! a+ H
1 l& K3 q# H9 l
-b, --basename -- 仅匹配路径名的基本名称- n* k( ^( [! n& G4 \/ s& ]4 J
-c, --count -- 只输出找到的数量: |3 Q0 G; h& e
-d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db+ |) [ R* U- K- O u
-e, --existing -- 仅打印当前现有文件的条目
$ i: N) x. @: X) k) D8 Y7 Z+ t-1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。7 H* h! P/ v% K! s. k; U9 r0 C1 n
-0, --null -- 在输出上带有NUL的单独条目( w" ^6 I0 t4 |* ` {: [, Z
-S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息% Z" B) Y: k% x, Z$ q
-q -- 安静模式,不会显示任何错误讯息。$ \& S+ M1 o0 _- @
-P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接
) w" J3 q. i; ~1 U-l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目
4 M) C" A7 [- x T-n -- 至多显示 n个输出。: c: _9 L' T+ Y+ g
-m, --mmap -- 被忽略,为了向后兼容
. p/ J4 v* J# Y* t" Q8 _-r, --regexp REGEXP -- 使用基本正则表达式
; V, L' @9 L b) p H--regex -- 使用扩展正则表达式$ r6 }4 D2 Y" m0 _
-q, --quiet -- 安静模式,不会显示任何错误讯息
) r1 ~' `% i" F9 d. D7 d9 r4 f-s, --stdio -- 被忽略,为了向后兼容( e' g. ]) O0 C* f2 w
-o -- 指定资料库存的名称。
7 }" ], J4 e9 N- O; g/ l# D) S-h, --help -- 显示帮助' Q& Y" L, u6 ?: e' y
-i, --ignore-case -- 忽略大小写; n" Z: U0 u9 S4 z
-V, --version -- 显示版本信息
: e2 c8 V4 l8 ]. Z: p实例
5 h; G4 ^' C5 N, e5 _查找 passwd 文件,输入以下命令:
2 h+ j7 g1 {8 X Z# m" @0 n8 v& J5 ]; g6 Q q) ]
locate passwd
2 X N3 N% x- e/ O搜索 etc 目录下所有以 sh 开头的文件 :
8 g4 ^- z* C4 H" q N+ C5 m
7 @0 o" n7 S. b9 J9 H" K) olocate /etc/sh
- s L0 Q0 a: ]6 d忽略大小写搜索当前用户目录下所有以 r 开头的文件 :
; _8 ^/ c) n% `6 I
8 a# ?1 v) `3 S2 H, s: k" ]2 ^locate -i ~/r/ {3 [' H' _4 R: [8 C. U j
附加说明
: ^ B2 f3 h5 {locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。6 ]- q9 ~+ W6 w+ H1 F3 B2 F
7 ?$ Q# ~9 R- W8 [/ O; N R
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:7 V( V* N0 W3 e- x
4 [% E G% a1 ^- N& ]* `% A$ \
updatedb9 v) D7 z3 Z' U/ b: L; @
默认情况下 updatedb 每天执行一次。 |
|