名称:find
; t1 ]3 }& H* ^1 h. i% [) @* ` 使用说明:
; E& U4 Q" p5 l: U P% s 将档案系统内符合 expression 的档案列出来。你可以指要档案的名称,类别,时间,大小,权限等不同资讯的组合,只有完全相符的才会被列出来。
( a$ U7 y+ f9 q0 N: d find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression
' d4 k: f% `2 k3 M7 p0 e$ N expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。
# ]4 `% v# Q* |8 C5 C -mount, -xdev:只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案
8 u% K d) {$ G4 s -amin n:在过去 n 分钟内被读取过
+ I ^/ D$ Y: { -anewer file:比档案 file 更晚被读取过的档案 & L8 e/ {& B8 ~+ u/ @# O' N
-atime n:在过去 n 天过读取过的档案
; N( _7 b+ k9 v# d4 T -cmin n:在过去 n 分钟内被修改过 ) U$ p, w. b) B- c5 s5 K1 k; v
-cnewer file :比档案 file 更新的档案
. U, V$ a* c8 m- x% ]# u& L -ctime n:在过去 n 天过修改过的档案 2 ?9 u* f- m& z- W; [3 n
-empty:空的档案-gid n or -group name:gid 是 n 或是 group 名称是 name
) i3 k7 F# _# i) h -ipath p, -path p:路径名称符合 p 的档案,ipath 会忽略大小写
- D2 J$ e0 |1 L% C% B9 Y8 y -name name, -iname name:档案名称符合 name 的档案。iname 会忽略大小写 2 K8 D) h' d b1 K* F# q, ^
-size n:档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c:档案类型是 c 的档案。 4 w$ K3 b- J7 q6 b
d: 目录
' g! x1 R' [: s& S! ~8 f* Q2 E/ F c: 字型装置档案
5 l1 p9 g0 m8 ~$ P0 j( }5 l b: 区块装置档案 ; L) Z! ]! Q! J+ s& T) S
p: 具名贮列
' @5 Z( }4 F& \ f: 一般档案
4 b& c: X7 ~% Y6 h/ k l: 符号连结 + A; @# o: t9 f
s: socket P+ l6 K3 N; R8 V
-pid n:process id 是 n 的档案
N- N6 e/ D& o/ H7 z. X6 S2 r8 B) A( r9 E( w. s, ~1 H
你可以使用 ( ) 将运算式分隔,并使用下列运算。 9 @- O) s! T3 M& g7 i
exp1 -and exp2 s2 `- O# Y2 y6 K2 t* {6 ~
! expr ' c% _+ I5 f5 f: X' N
-not expr : d: e' X" \ f, S5 E0 |0 V
exp1 -or exp2 2 N8 D4 G. I G6 A* W- {9 p
exp1, exp2
" M; Y' p0 W4 r2 \ 范例: ' R% j1 o$ z! k! [) U$ x
将目前目录及其子目录下所有延伸档名是 c 的档案列出来。 ; D9 \, n- s/ ^! T8 T, e
# find . -name "*.c"
$ E6 ^0 \/ h, _% d0 K% ` 将目前目录其其下子目录中所有一般档案列出 ; j# P, C' B" }4 V4 X0 M
# find . -ftype f
" ]$ z0 b6 u" l6 t, t- l4 L$ R( l 将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出
5 B# S( U: G1 D/ x+ z" H # find . -ctime -20 |