武汉艾迪飞CCIE实验室

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1279|回复: 2

Linux系统的搜索工具find基本用法 [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    奋斗
    昨天 10:47
  • 签到天数: 204 天

    [LV.7]常住居民III

    最后登录
    2012-5-18
    在线时间
    572 小时
    金币
    14238
    注册时间
    2010-8-17
    阅读权限
    200
    帖子
    2441
    精华
    79
    积分
    998944
    UID
    38568

    金牌勋章 版主勋章 荣誉勋章 希望之星 太阳之勋

    发表于 2010-8-24 15:46:25 |显示全部楼层
    我们经常要在日常的工作中查找文件,要说linux下最强大的文件查找工具,非find莫属。find可以从文件名、读取修改时间、大小、类型等等来筛选文件,可以完成日常几乎所有的查找需求。   来看一个简单的例子:
      find /tmp/ -name 'galeki*'
      意思就是在/tmp目录下找出以“galeki”开头的文件,-name指出是对文件名进行筛选,是不是很简单明了?除了文件名,find还有更强大的筛选条件:
      1.时间:
    参数意义
    -atime n上一次存取时间在n*24小时前以内的文件
    -ctime n上一次状态改变在n*24小时前以内的文件
    -mtime n上一次修改时间在n*24小时前以内的文件
    -newer file比file所指的文件还要新的文件
      2.大小:
    参数意义
    -size n[bkMG]大小为n(b为比特,k为KB,M为MB,G为GB)的文件
    3.所有者:
    参数意义
    -user name所有者用户名称是name的文件
    -group name所有者用户组群名称是name的文件

      例子:   find /tmp/ -name 'sess*' -mtime 1  #在/tmp目录下找到所有以'sess'开头、并且在一个小时以内修改过的文件
      find ./ -name '*.zip' -size 546k    #在当前目录下找到所有546KB的zip压缩包文件
      find /tmp/ -user 'galeki'        #在/tmp目录下找到所有所有者为galeki的文件
      另外,还可以用"+"、"-"来进一步修饰时间和大小的条件:
      find src/ -mtime +2       #找出src目录下上一次修改时间在2天以前的文件
      find download/ -size +50M   #在download目录下找出大于50M的文件
      光找出文件还不够,我们还要对找出的文件进行处理才有意义,一般来讲可以把find的查找结果传递给其他的命令做进一步处理。find本身也提供了许多处理动作的选项。
      常用的处理动作:
    参数意义
    -print打印出找出文件的完整地址,一个文件一行
    -delete删除找出的文件
    -exec command {} ;对每一个找到的文件执行command命令,
      并用文件替换"{}",“;”是固定的结束符。
    例子:   find /tmp/ -ctime +7 -delete      #删除/tmp目录下一周以前创建的文件
      find ./ -name '*.unk' -exec file {} ;  #找出当前文件夹下后缀是unk的文件,并用file命令显示每个文件的文件类型
    您需要登录后才可以回帖 登录 | 注册

    武汉艾迪飞CCIE实验室

    Archiver|武汉艾迪飞思科网络 ( 鄂ICP备05016161号 )

    GMT+8, 2012-5-19 12:22 , Processed in 0.099040 second(s), 18 queries .

    Powered by Discuz! X2 Licensed

    © 2001-2011 Comsenz Inc.

    回顶部