Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239316
  • 博文数量: 131
  • 博客积分: 259
  • 博客等级: 二等列兵
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-21 21:15
文章分类

全部博文(131)

文章存档

2013年(3)

2011年(128)

分类:

2011-01-12 16:14:15

原文地址:linux find 学习笔记 作者:dmastery

前言

   本文是学习linux find 命令的学习笔记主要是为了照顾我的大脑,所以记下来方便以后查询
有兴趣的话可以去看下边的完整版
参考文章:

基本格式

    1.以下两个命令的效果是一样的, 查找当前目录下所有以 java 结尾的文件名 
    find . -name "*.java"
    find . -name \*.java
        
    2.以下三个命令的结果也是一样的,列出当前目录下所有的所有文件,包括隐藏文件
       find
       find .
       find -print
    3.多个查找范围, 同时把错误输出抛弃
       find /tmp /usr /home -name "*.jar" 2>/dev/null
    4.不区分大小写
       find . -iname "*.gif"
    5.按类型搜索文件
       find . -type d   列出当前目录下的所有子目录
       find . -type l   列出当前目下的所有链接
       find 可以找到的文件类型包括
            b -- 块 (缓存) 特殊
            c -- 字符(未缓存)特殊
            p -- 命名管道 FIFO
            s -- 套接字
   

查找时间

find 有几个根据系统的时间戳搜索文件的选项, 这些时间戳包括
mtime - 文件内容上次修改时间
atime - 文件被读取或访问的时间
ctime - 文件状态变化时间
------------------以上三个是以小时为单位,下面三个是以分钟为单位--------------
mmin
amin
cmin
     关于ctime的说明:由于inode维护着每个文件上的元数据,因此如果与文件相关的元数据发生变化
   则inode也会发生变化,这可能是由一系列操作引起的,包括创建到文件的符号连接,修改文件的权限
   或者移动文件,在这些情况下,文件没有被修改,也没有被访问,所以mtime , ctime 不会变化,但
   是ctime 则会变化
      这些值都需要与一个值 n 结合使用, 方法如下:
     -n 返回项小于n
     +n 返回项大于n
     n 返回项刚好等于n
  1. find . -mtime 1  查找刚好在一个小时前修改的文件
  2. find . -mtime +1 查找一个多小时之前修改的文件
  3. find . -mtime -1 查找在一个小时之内修改的文件

使用 -newer ... 查找与以修改过的文件或访问过的文件与指定的文件的比较
 -newer   内容最近被修改过的文件
 -anewer  内容最近被访问过的文件
 -cnewer  状态最近发生变化的文件

查找当前目录下在test.tar.gz 之后被修改过的文件
 find . -newer test.tar.gz

按照大小查找文件

-size 选项可以支持按照大小查找文件
 
 1. find . -size +5M 2>/dev/null
 2. find . -size +1G 2>/dev/null

控制find

-depth        确保现在一个目录中查找,然后才到其他的目录
-maxdepth     搜索的最大层数
-mindepth     搜索的最小层数,即最低从哪一层开始查找


阅读(705) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~