|
|
楼主 |
发表于 2018-7-5 12:15:16
|
显示全部楼层
一、find 命令格式说明7 A+ X9 q k. t$ n5 I5 l G* ?
; h/ h. V& S5 x) Z9 ~' f/ T9 t. }
path find命令查找的目录路径。/ ]' v0 B7 y2 M7 y: c
8 A8 R/ ?* o0 Q# Z3 Z( c# ?
-print find命令将匹配到的文件输出到标准输出。1 b J# G1 e F5 j% J1 W
3 `/ D$ `/ V: b; [4 L8 R" i( L -exec find 命令对匹配的文件执行该参数所给出的Shell命令。" x- O$ Q: E, Q8 n- ~2 S, w
5 R7 ?0 l& z/ B5 F& o2 b -ok 和 -exec的作用相同,只是更安全,在执行每个命令之前,都会给出提示,让用户来确定是否执行。7 P. Y4 g5 E: @( V4 Q
" m8 a l# [1 O s2 M二、find命令常用参数说明1 [! \7 M/ n1 F# _
, M' T2 A2 J6 Z! D( t. E. ~+ N& x -name 按照文件名查找文件
$ g: D5 @) c9 g- A
7 P" Z" t( b# L -cpio: 对匹配的文件使用 cpio 命令,将这些文件备份到磁带设备中
' w* x& @: Z8 e
n% X M" {" V9 p- U. M -prune 按照文件权限进行查找文件
! I8 N7 _2 C P; `; j& y! O
; f$ b9 H$ p9 K! k& ^ -user 按照文件属主来查找文件9 L+ H0 W& {8 ~# c9 E
8 R. h( n& Q m) O' y+ J( e
-group 按照文件所属的组来查找文件+ G5 \; g6 M( g! D
4 i% q4 z1 m& t# l% b -mtime -n +n 按照文件更改的时间来查找文件,-n 表示更改时间距现在 n 天以内,+n 表示更改时间距现在 n 天以前9 s' M$ `% ~" p3 w' b. V
4 d. T9 `- n' [; D+ X; M6 A8 P. C
-nogroup 查找无效所属组的文件, u0 W) W/ ?" i) ]% R
6 P, f, ^/ }& j0 C8 f. F5 s
-nouser 查找无效属主文件1 ~, p1 i% }2 h; e+ I, {% W
" U4 L7 u5 I7 `. V
-newer file1 !file2 查找更改时间比 file1 新但比 file2 旧的文件
5 e8 k5 d2 S7 ~% ]! }8 \
7 K2 U- o9 ~! F3 X -follow 如果 find 查找的为链接文件,就跟踪至连接所指向的文件; Y/ Y9 ?8 H) D- i) l
' w% e2 M1 m" z* n
-mount 在查找文件时不跨越文件系统 mount 点: c O& G! u( V
# J. D. D) E! p7 L1 E
-fstype 查找位于某一类型文件系统中的文件
$ S3 W" m& E- b6 j2 H) j$ ]8 f7 n' _6 c1 ^# n
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找* y: F/ `3 q2 L+ x
( a& p8 E! z% j1 x8 e -size n 查找文件长度为 n 块的文件,带有 c 时表示文件长度以字节计- ]" [: _7 s9 Z; P: M, G2 Y
* G- \2 N9 B* G4 K5 K7 K' A8 x' h- H -type 查找某一类型的文件
o+ B% g; b4 c5 c. ]4 P9 `
7 H; c; @" O4 `4 f# s( }2 g -amin n 查找系统中最后 n 分钟访问的文件, w& F: ^! ^4 J3 J0 T
! X& T& m @$ @ -atime n 查找系统中最后 n*24 小时访问的文件
8 \$ I2 c2 x. d, F4 X) K/ k9 ~' p2 X
-cmin n 查找系统中最后 n 分钟被改变文件状态的文件
$ h5 U5 n2 x3 h7 ~
?) _9 ?, d+ y -ctime n 查找系统中最后 n*24 小时被改变文件状态的文件
' m& X8 c* ^2 ]+ X" ~/ Z5 r b. x* r2 [8 Y* J5 N- ^
-mmin n 查找系统中最后 n 分钟被改变文件数据的文件
+ Y( ?- u$ B0 J; H& {- g8 o- {- q) C3 x0 N$ f
-mtime n 查找系统中最后 n*24 小时被改变文件数据的文件2 c% d& l; c0 _2 M' y: }
" M9 D+ T2 q1 H6 N0 ~5 T j9 }; a -empty 查找系统中空白的文件或目录,或目录中没有子目录的文件夹 Y6 \! @% ~% Q. V
& U2 C2 _/ n) O# g5 X -false 查找系统中总是错误的文件
$ D4 x7 l+ u" Q) V1 z
: Y( H* J' F# Y$ } I# _/ } -gid n 查找系统中文件数字组ID为 n 的文件
/ _7 u8 a* G" R: ~) w x$ R1 \, Y1 |6 c; S+ I
-daystart 测试系统中从今天开始 24 小时以内的文件,用法类似于 -amin
7 [4 k* }; C9 [1 {' P: V/ F
, R* T, b1 c/ S -help 显示命令摘要(帮助)2 I R0 D4 H( ^3 s6 K
3 K0 f! u8 R5 O2 D W
-maxdepth levels 在某个层次目录中按照递减方法查找
+ y9 t4 `5 @" {* m6 C8 n
_" P( O9 T, L Q3 _6 S1 k% z三、find基本用法
x2 Y: k, Q, i3 _8 d
& b- {$ \3 q8 f+ ]5 j9 z find 如不加任何参数,表示查找当前路径下的所有文件和目录: {. |8 e1 @. U7 |9 |% e. q
9 _. ?. O8 j/ w5 x# \ find -print 将结果打印到标准输出
% K' X1 G& W- g$ t- e
5 m0 b3 m0 p6 e# U) f find /data/log 指定路劲查找1 F! q" A0 y1 O4 E, i+ Y& \
: ?( r% B$ Y( ?8 ^
find / -name "abc.txt" 在系统中查找 abc.txt 如果执行完毕没有找到,则说明系统中不存在该文件
9 J4 _( U1 N# F: O" m8 s3 n' ^/ c2 J: {9 b9 C; Q/ l
find 还支持正则表达式查找
! ^( c& M) `! W$ i7 c C" L R: a/ u
find /data/logs -mame "*.log" -type f -printf 查找符合指定字符串的文件
- U }! }8 R4 y) q" J; m% ?8 F3 \) ]6 ~0 {6 l g! w. c
find . -name "[0-9]" -type f 查找以数字开头的文件) T# K& q- I: f$ g7 K
( b4 J4 v; u' q5 _ find / -mtime -1 |head 查找系统内最近24小时修改过的文件
' f; v- y' g9 z* T ^. B4 i3 K# f) Y. z) Z# l4 N3 s
find / -mmin -15|head 查找系统内最近15 分钟修改过的文件; ^" h- ~& p3 n+ e, m& D5 R; [5 @
; p S. ?' T8 Vfind 使用 type 选项可以查找特定的文件类型,常见类型如下 {, n+ T# v9 g
4 m) A7 `! n8 m% C6 X1 J: ^ b 块设备文件) i& U3 u' ^! l' s, ~
# B9 ]6 q% p) M* w d 目录
1 U: H7 u$ Z2 m: g7 t" N* d$ d1 t0 [. U% x; U ~1 k
c 字符设备文件
1 y+ A' U+ j% q# F: X
+ ~$ c; z, g5 G) w& }5 h- w p 管道文件
1 A0 C6 b2 D: |5 i+ X1 N; n2 ?" f+ x' s$ Q: P2 \1 z7 {2 G' J4 E
l 符号链接文件
0 _# X2 R4 q. ?5 ]2 @8 Z# l
$ m+ E& t1 v' e2 W+ E4 o/ l ~ f 普通文件
# I( Y6 V$ Y. C
7 G( _* A- K, o find . -type d 查找当前路径中的所有目录
7 ]/ h9 _1 c9 V
) ]8 y, e% |8 [/ n+ ^0 G Y& O7 ] find . -type f 查找当前路径中的所有文件
7 `% a& c( A2 I$ U$ l- B7 X# a }& w, v4 `1 Q* F
find . -type l 查找当前路径中的所有符号链接文件
7 d- D j w! ]! {
* k0 u0 |& x/ O( |3 f, A+ M 更多实例将在使用中不断补充.....2 j% _, S7 O8 _4 [7 H- U$ p# C2 p
5 p: j4 k# Z, A" N, `6 n
四、 |
|