|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
" ^% r* T! }' Z: n4 N% `& z2 R
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
- N/ E- I: U) M$ E+ V. |2 W2 r8 g$ O) H' _' c5 j. E
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
0 P. t1 m+ \; W9 N
% k9 E% V2 K7 m5 R! o) h% y% ?0 {# G语法+ E! x3 S3 V! A2 @
locate [-d ][--help][--version][范本样式...]
+ H% o2 v7 f6 p1 d& U, \& H参数:
5 C& ?- M- @5 j( |3 p9 t5 L
* s/ F2 Y0 b; n5 r7 Y-b, --basename -- 仅匹配路径名的基本名称
: q9 u7 Z4 t" M& B+ M: b/ v2 r-c, --count -- 只输出找到的数量& o( G# M4 g0 J, [( E% \
-d, --database DBPATH -- 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
; ?% i; S3 o0 R, Z/ u- {0 |-e, --existing -- 仅打印当前现有文件的条目
; C$ U! f# F3 e( ]7 ~" {8 c-1 -- 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
! _1 g: D& u: j6 E; Y-0, --null -- 在输出上带有NUL的单独条目. L, t) _9 N- |& ` @
-S, --statistics -- 不搜索条目,打印有关每个数据库的统计信息* u/ s) u L# `5 S- F- C
-q -- 安静模式,不会显示任何错误讯息。9 @/ y- ^/ a' `' y+ {# i" `8 o
-P, --nofollow, -H -- 检查文件存在时不要遵循尾随的符号链接
" Q1 S) I/ V% E' `-l, --limit, -n LIMIT -- 将输出(或计数)限制为LIMIT个条目
8 ?- M+ Z# e( [. d7 D6 F( [-n -- 至多显示 n个输出。, B( I1 X( |' t% q
-m, --mmap -- 被忽略,为了向后兼容
0 y' k3 a2 T* A-r, --regexp REGEXP -- 使用基本正则表达式/ y8 w4 J! ^/ c; \; Q% M
--regex -- 使用扩展正则表达式/ ^) d' ~+ U: W) s( X
-q, --quiet -- 安静模式,不会显示任何错误讯息5 P! ~7 M U* `, D. p& v2 a* E
-s, --stdio -- 被忽略,为了向后兼容4 b8 v# ]1 T9 Q/ {9 C' Q
-o -- 指定资料库存的名称。
2 [3 T/ L. V: V: u6 O8 A-h, --help -- 显示帮助
3 Z+ X4 R& H; t# P0 l( Y-i, --ignore-case -- 忽略大小写( f# |6 I* g/ N9 N3 D! x* A
-V, --version -- 显示版本信息
& C6 n% {( F$ L# Q% R实例7 y% V7 S, j' D+ B; G* \5 V
查找 passwd 文件,输入以下命令:9 Y1 Z/ M- Z5 ]" P; |: |' q7 y
: j9 I( c5 h4 v" d9 n8 qlocate passwd0 A( u. N g( C
搜索 etc 目录下所有以 sh 开头的文件 :
. [: N9 h T* r) ]3 c( D* @+ F: y( P. `$ o j& Q0 c
locate /etc/sh
. ~) F+ s2 y( Y, ] [8 s忽略大小写搜索当前用户目录下所有以 r 开头的文件 :" F' ^8 j4 c/ S5 _4 n5 R
1 K- s# z* a$ h4 L
locate -i ~/r
* ]7 H0 w6 l& B, G; a4 T附加说明' {) d0 j* V% W7 G6 S* L
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。1 I1 `& q, ]' l
8 b) N2 j' r* j' D7 ~! ~2 Ilocate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
, ~0 S1 R f, n3 r F
+ I) \8 q( T! @( Z" Tupdatedb
0 t) z( Y3 l0 M* [- ]# v; R默认情况下 updatedb 每天执行一次。 |
|