posts - 28,  comments - 15,  trackbacks - 0
一、概述

    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

只有注册用户登录后才能发表评论。


网站导航:
 
<2013年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(1)

随笔分类(17)

随笔档案(28)

文章分类(30)

文章档案(30)

相册

收藏夹(2)

hibernate

java基础

mysql

xml

关注

压力测试

算法

最新随笔

搜索

  •  

积分与排名

  • 积分 - 95541
  • 排名 - 602

最新评论

阅读排行榜

评论排行榜