- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|

楼主 |
发表于 2018-7-5 12:15:16
|
显示全部楼层
一、find 命令格式说明
' w7 B$ M, ^. V, s! ?# S1 l* ~/ o3 i# i
path find命令查找的目录路径。
; f: `5 P9 k/ k
3 G6 R' S5 _" v7 ~9 r* I8 W- t -print find命令将匹配到的文件输出到标准输出。
3 j2 i) K) P0 _5 e z0 t4 q
, V" K7 `5 Q C) L -exec find 命令对匹配的文件执行该参数所给出的Shell命令。
* u+ f/ q h( @: W6 s9 s4 h. |/ }" a+ \. l' m" X$ j
-ok 和 -exec的作用相同,只是更安全,在执行每个命令之前,都会给出提示,让用户来确定是否执行。" t% b n6 [( Y2 f5 T9 F
* e5 ]+ z1 N* o二、find命令常用参数说明1 \$ l- a: H$ ]1 V a6 D% h6 b
8 o3 @8 j5 B) b) O& ^6 @) J9 |. b -name 按照文件名查找文件
0 v" \3 ?. V/ `+ d' z8 d* W: U) L" h3 ?& i% t. o/ J" q
-cpio: 对匹配的文件使用 cpio 命令,将这些文件备份到磁带设备中: z7 b7 z* r1 D6 h f8 X6 [
6 J j4 Q% j0 t+ U -prune 按照文件权限进行查找文件
* s1 k# f/ p- o
7 x/ v" C$ j& R% j -user 按照文件属主来查找文件8 P% s/ V, ~- E) h
; N L% l F7 S1 J! o
-group 按照文件所属的组来查找文件
5 F: m! V0 M, M6 P* P, R+ t7 s3 n" \7 e+ U5 ?. b" k
-mtime -n +n 按照文件更改的时间来查找文件,-n 表示更改时间距现在 n 天以内,+n 表示更改时间距现在 n 天以前# q, t4 i. p0 |' U% m. R" f1 R" d
& F4 o1 R$ q T0 \ -nogroup 查找无效所属组的文件8 _% ? o+ `, ]0 d7 K: m) G. U" @
; R1 z$ C" p+ p0 @ -nouser 查找无效属主文件
, I. k2 l5 k/ v( N, ?2 U6 v. V6 e; V# {& ]* ]0 V
-newer file1 !file2 查找更改时间比 file1 新但比 file2 旧的文件
7 ]5 c5 s5 l( U$ Q6 I% X
6 n3 }0 Z5 ?; p -follow 如果 find 查找的为链接文件,就跟踪至连接所指向的文件: l1 w6 R! M; z6 ~3 e4 Q
) {$ I' H3 t4 o+ L4 V& O7 A, U$ r0 K
-mount 在查找文件时不跨越文件系统 mount 点
, x e+ n Y6 J7 i8 O! V: r, G
# O' C# m: _7 @, ` -fstype 查找位于某一类型文件系统中的文件$ x3 g- m" {9 S6 x, }. r: T g1 Y
8 ?# J& `' j. s- `
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
1 C5 a. l* K$ X. n+ @; [3 _ F2 a$ K1 E& ?3 j v; q2 U& n `
-size n 查找文件长度为 n 块的文件,带有 c 时表示文件长度以字节计$ {8 D3 r8 x k ]
2 d6 o$ a& {* Z/ v- `5 R9 K -type 查找某一类型的文件- W; ^. y0 s+ p t7 W
% j; n) I7 q6 q -amin n 查找系统中最后 n 分钟访问的文件+ ~5 S& d0 }2 P3 ]5 _2 Q
7 ~+ U$ ^& M; L" l4 d& e& y -atime n 查找系统中最后 n*24 小时访问的文件
0 @1 k+ `- \ @# v' S; l+ H) L. u/ f
-cmin n 查找系统中最后 n 分钟被改变文件状态的文件
, P7 {" A( a4 [) {+ \& L/ P7 i
-ctime n 查找系统中最后 n*24 小时被改变文件状态的文件
- a" c# T; ~* N. n! h# V# M" [7 ~
% q: ~, l+ U* B( D: a/ a/ E -mmin n 查找系统中最后 n 分钟被改变文件数据的文件# J# v. N( `: P, T6 u- z
8 ]& Q9 U; V* ^9 W+ a4 Q
-mtime n 查找系统中最后 n*24 小时被改变文件数据的文件+ M; |6 \: U; j
+ \; p5 }" `; d6 R -empty 查找系统中空白的文件或目录,或目录中没有子目录的文件夹( w3 V2 ~( s$ v7 {
; R" k+ X/ w' \: g4 w5 \ -false 查找系统中总是错误的文件
, z/ t% m2 W7 ]% M: D
T$ h' ^. D# |$ K& O1 a -gid n 查找系统中文件数字组ID为 n 的文件
/ l5 r8 D. l/ b# V S: B, h0 I. f7 b. h: X& A" @! l! {0 ]
-daystart 测试系统中从今天开始 24 小时以内的文件,用法类似于 -amin
1 g& p, L: C% r
0 I& X8 W" V# ]0 _ -help 显示命令摘要(帮助) r& |4 y* y2 O( V8 \% C! V
9 G& ^: G# E/ s% o8 t -maxdepth levels 在某个层次目录中按照递减方法查找
+ t$ A# A: @9 r- p X. ^
8 v" Q0 n9 Q* w2 M/ A三、find基本用法, s' [( w) c; `4 d: o6 v
3 L) h2 W* [# c" k
find 如不加任何参数,表示查找当前路径下的所有文件和目录/ m3 \7 c3 N, m' [7 w
+ x2 N$ P+ r: A8 K; F$ o2 x find -print 将结果打印到标准输出2 @6 B( Z1 s. y0 B
; s8 F& W9 u0 A5 {" |- y( h find /data/log 指定路劲查找
% x/ l8 w7 n( i/ Z% [
8 r% \: e6 U" Z+ X find / -name "abc.txt" 在系统中查找 abc.txt 如果执行完毕没有找到,则说明系统中不存在该文件
, U+ C' i; @3 c5 o" _
. ?. Z" B3 c: }) d2 `. Q3 h find 还支持正则表达式查找: y& {3 Z7 V' h6 o
" e% v+ E! x' r' T7 m1 e. w
find /data/logs -mame "*.log" -type f -printf 查找符合指定字符串的文件. Y4 J- u6 d/ f% H
( ^9 A- ~- w! C) ], `
find . -name "[0-9]" -type f 查找以数字开头的文件2 f+ f/ T3 c/ u8 u
% l. W/ { b0 E m. m find / -mtime -1 |head 查找系统内最近24小时修改过的文件
4 Q* U3 M9 q/ U' r/ I+ `( A8 F- X
0 N* J$ e" P3 t* Y find / -mmin -15|head 查找系统内最近15 分钟修改过的文件
# X$ f6 ^' p. M4 a0 k) ^" ~* z: ?) M) b3 u1 M; n5 X
find 使用 type 选项可以查找特定的文件类型,常见类型如下
9 x: f0 `9 x/ l; o. B* G$ L; q& d5 X! |" e
b 块设备文件
+ _9 t2 Y d* m, \9 }6 M w; [ A' J
d 目录7 b5 f6 Y# R$ C
# R1 Q* C8 b$ v1 ?: E
c 字符设备文件
, g4 a6 n g3 v+ A# [
2 n; w1 }$ U- f( M' F! f p 管道文件! O# ?6 [" l) _0 Q ], |& z: x
- ?* }- X- C) f$ p6 U/ K l 符号链接文件
0 X0 |; K* l9 D# x
4 E0 G: X- j1 d0 ^' s f 普通文件
) t' {( R6 H# e# H) d' Q* ~0 E& u# A% Y4 Z% l* w9 J, N) {
find . -type d 查找当前路径中的所有目录9 \/ e3 `8 T. [6 O+ W# R0 w
6 u9 c1 R; T- }0 ^
find . -type f 查找当前路径中的所有文件
, s5 M' i! d$ q& h3 S
9 h' u$ F& m+ h find . -type l 查找当前路径中的所有符号链接文件
3 ^& q7 o& U& `# s: o- I
- ~0 I1 k' p6 O# R" L 更多实例将在使用中不断补充.....
( a0 O) a) A+ X0 a3 {' U4 q5 b1 n6 Z) ]9 ~: D8 {$ W
四、 |
|