find命令是个用于搜索文件的命令,他的语法格式:find [path] [options] [tests] [actions]
1、path部分是你指定的路径,可以是绝对路径,如/usr/bin,也可以是相对路径,如 . 。如果需要,也可以指定多个路径,如 find /var /home
2、options 部分有以下主要选项
-depth 在查看目录本身之前先搜索目录的内容
-follow 跟随符号链接
-maxdepths N 最多搜索N层目录
-mount(或-xdev) 不搜索其他文件系统中的目录
3、tests部分,可以提供给find命令的测试很多,每种测试返回的结果有两种可能:true 或 false.find命令开始工作时,他按照顺序将定义的每种测试依次应用到他搜索到的每个文件上。如果一个测试返回false,find命令就停止处理它当前找到的这个文件,并继续搜索。如果一个测试返回true,finde命令将继续下一个测试或对当前完那键采取行动。下面是常见的测试
-atime N 文件在N天之前被最后访问过
-mtime N 文件在N天之前被修改过
-name pattern 文件名(不包括路径名)匹配提供的模式pattern,为了确保pattern被传递给find命令而不是由shell来处理,pattern必须总是用引号括起
-newer otherfile 文件比ohterfile文件要新
-type c 文件的类型为c,c是一个特殊的类型。最常见的是d(目录)和f(普通文件)
-user username 文件的拥有者是指定的用户username
用来组合测试的操作符
! 或 -not 测试取反
-a 或 -and 两个测试都必须为真
-o 或 -or 两个测试有一个必须为真
4、actions部分
-exec command 执行一条命令。这个动作必须使用;字符对来结束
-ok command 与-exec类似,但是他在执行命令之前会针对每个要处理的文件,提示用户进行确认,这个动作必须使用;字符对来结束
-print 打印文件名
-ls 对当前文件使用命令ls-dils
eg:
1,从根目录开始查找文件名为test,并且输出文件的完整路径
find / -name test -print
2,搜索文件比文件X 要新,或文件名以下划线开头
find / (-newer X -o -name "_*" ) -print