find:根据指定条件查找文件
上一篇 / 下一篇 2010-07-08 16:14:55 / 个人分类:liunx相关
find:根据指定条件查找文件
find是一个资深的UNIX®工具。它的功能在于递归扫描一个或多个目录,从中查找匹配指定条件的文件。尽管此工具非常有用,但语法却十分复杂,使用的时候也需要多多练习。最普通的语法是这样的:51Testing软件测试网5xM b1m5^:dU
find [选项] [目录] [条件] [动作] |
如果您不指定任何目录,find将会查找当前目录。如果您不指定条件,则条件相当于“true”,这样会把全部文件都找出来。选项、条件和动作的设置十分繁多,我们在这里只会提到其中的少数几个。首先,让我们来看看着几个选项:
Q!\ Q/|[}4sH-s0onwN_hm0-xdev:不在其它文件系统的目录中搜索。
K9] U1E:iM&h0- 51Testing软件测试网!u7f:Pp`l
-mindepth <n>:搜索文件时至少要深入到指定目录的第n层子目录。
&j8sN`2T0 - 51Testing软件测试网-A!apR'mK;w
-maxdepth <n>:搜索文件时最多深入到指定目录的第n层子目录。
^f0n1i?%Q+m \0 - 51Testing软件测试网5h4H^cf7u{*b9S
-follow:如果符号链接到目录,则跟随符号链接进入。默认情况下,find不跟随链接。51Testing软件测试网h!a8ykkM5S
- 51Testing软件测试网sOs0dn8\ `0YJ'|{i
-daystart:当使用与事件相关的测试时(见下文),将当天的开始时间作为时间戳,而不是默认值(从当前时间倒退24个小时)。
8H4?gR)X:m?0
W$U I%G9n$R0条件可以是一个或多个原子测试。这是一些有用的测试:
-{.um"|u/\ l zM0$orH {0t5U7j_0-type <文件类型>:搜索给定类型的文件。文件类型可以是以下之一:f(普通文件)、d(目录)、l(符号链接)、s(套接字)、b(块模式文件)、c(字符模式文件)或p(命名管道)。
-TSU$W v}B8zK.iu0- 51Testing软件测试网H|(}
x4bEp
-name <模式>:查找文件名与给定模式匹配的文件。使用此选项,模式将被看作shell 全局模式(参见“Shell 通配符”一节)。51Testing软件测试网?za"a||w.V`
4aj a c#wsa0-iname <模式>:与-name类似,但不区分大小写。
H,H/E(\ti2U4oo0- 51Testing软件测试网;z+o~
q%`
-atime <n>、-amin <n>:查找上次访问时间在n天前(-atime)或n分钟前(-amin) 的文件。您还可以指定<+n>或<-n>,这代表要搜索访问时间在至多或者至少n天/分钟前的文件。51Testing软件测试网(j$xWh a6@
- 51Testing软件测试网 [(\7zw8_lo)o(?1f@Z4c1Y&~-e0
- 51Testing软件测试网3H^I1Q+\ Og+q&|
-ctime <n>、-cmin <n>、-cnewer <file>:与-atime、-amin和-anewer相同,但比较的是文件上次修改的时间。
$xL]:bT7`%O0 *o?`7ym&S3o9] p0-regex <模式>:与-name相同,但模式将被看作正则表达式。
mQco H`.wr0c0hu.b"QR#yv0-iregex <pattern>:与-regex相同,但不区分大小写。
/g:thm zKA*F0
可供选择的设置还有很多,请参看find(1)中的详情。要进行组合测试,您可以使用以下格式之一:51Testing软件测试网mLFro$t