一、概述
find主要用于文件查找。二、重要参数
-name : 文件名必须匹配的字符串;<1>-iname: 与-name类似,不区分大小写;-o : or的缩写, <2>-path : 使用通配符来匹配文件路径或者文件-prune: 去除<3>-a : and的缩写-type : 文件类型:d-目录、b-块设备、c-字符设备、f-普通文件、l-连接文件、s-套接字-mindepth: 目录最小深度-maxdepth: 目录最大深度-atime: 访问时间-ctime: 变化时间-mtime: 修改时间-amin: 同-atime-cmin: 同-ctime-mmin: 同-cmin-size: 按文件大小搜索-delete: 删除匹配的文件-perm: 根据文件权限查询文件
三、示例
1.根据文件名或正则表达式匹配搜索 (*,?,[]等正则)
<1> find /home/ah -name 'file*'
2.目录查询
<2> find /home/ah/temp \( -name '*.c' -o -name '*.o' -o -name '*.java' \) -print
<3> find . -path './tomcat_a*' (-a) -prune -o -name '*.jsp'
查找当前目录下非tomcat_a*目录下的*.jsp文件
3. 否定搜索
find . ! -name '*.rar'
4. 按照文件类型搜索文件:
find . -maxdepth 1 -type f -printf
5.根据文件时间搜索
按天搜索的参数:
atime-访问时间
ctime-变化时间
mtime-修改时间
按分钟搜索的参数:
amin-访问时间
cmin-变化时间
mmin-修改时间
# 最近7天内被访问过的所有文件
find . -type f -atime -7 -print
# 恰好在第7天被访问的文件
find . -type f -atime 7 -print
# 访问超过7天的文件
find . -type f -atime +7 -print
6.基于文件大小的搜索
文件大小单位
b--块(512字节)
c--字节
w--字(2字节)
k--千字节
M--兆字节
G--G字节
#大于2KB字节的文件
find . -type f -size +2k
#等于2KB字节的文件
find . -type f -size 2k
#小于2KB字节的文件
find . -type f -size -2k
7.删除匹配的文件
find . -name '*.swp' -delete
8.基于文件权限和所有权的分配
find . -type f -perm 644
9.结合find执行命令或者动作
find命令可以结合-exec选项与其他命令进行结合
<1>find . -name "*.txt" -exec cat {} \; >collect.txt
把当前目录下txt文件组合输出到collect.txt
<2>find . -name "*.txt" -exec cp {} ./CRT \;
把当前目录下的txt文件拷贝到CRT目录下
posted on 2013-06-09 18:07
zhangxl 阅读(229)
评论(0) 编辑 收藏 所属分类:
Linux