• Linux命令详解-find命令(二)


    -mtime选项,按文件更改时间查找文件

    例12:查找2天内修改过的文件

     find ./ -type f -mtime -2 -exec ls -l {} \;

    如图,搜索结果为2天内修改过的文件。

     如果要查找2天前修改过的文件,那么命令如下:

     find ./ -type f -mtime +2 -exec ls -l {} \;

    还可以使用多个-mtime,达成对一个时间段查询的目的。

     find ./ -type f -mtime +2 -mtime -5 

    上面的语句实现对2-5天内修改过的文件进行搜索。

    -atime选项,按文件访问时间来查找文件

    例13:三天内访问过的文件

    find ./ -type f -atime -3 -exec ls -l {} \;

     如图,列出3天内访问过的文件

    -ctime选项,按文件创建之间来查找文件

    例14:两日内创建的文件

    find ./ -type f -ctime -2 -exec ls -l {} \;

    如图,列出2日内创建的文件。 

    -newer选项,查找比指定文件更新时间更新的文件

    例15:查找比c2.txt文件更新时间更新的文件

    如图,搜索结果文件比c2.txt新 

    类似的选项还有-anewer选项和-cnewer选项

    -size选项,按文件大小来查找文件

    例16:查找20M以上的文件

    find ./ -size +20M -exec ls -lh {} \;

    如图,搜索结果文件都是20M以上大小。 

    常用单位有:k,M,G,b(block),c(byte),w(two-byte words)

    “o”操作符,或操作,可以让两个条件以或地方式查找

    例17:查找文件名字时a开头的文件或者文件名字时b开头的文件

    find ./ -type f -name "a*" -o -name "b*" 

    -prune选项,不在当前指定目录查找

    例18:对比使用prune选项和不使用的效果

    sudo find / -path /etc -prune -o -name passwd -print

    sudo find /  -name passwd -print

     如图,第一条命令跳过了指定目录/etc没有进行搜索

    -exec选项,对查找结果执行命令

    例19:查找文件名字时a开头的文件或者文件名字时b开头的文件,并且使用ls命令显示文件详细信息

    find ./ -type f -name "b*" -o -name "a*" -exec ls -l {} \;

    -maxdepth选项,搜索制定目录深度

    例20:搜索1层和2层目录下的后缀为“gz”的文件

    find ./ -maxdepth 1 -name "*.gz"  -exec ls -l {} \;

    find ./ -maxdepth 2 -name "*.gz"  -exec ls -l {} \;

     如图,搜索2层目录结果更多。

    这个选项不能跟-type选项一起用。

    -mindepth选项,至少到达指定目录深度后再开始查找

    例21:从第3层开始查找txt后缀文件

    find ./ -mindepth 3 -name "*.txt"  -exec ls -l {} \;

     如图,第二层目录下的c4.txt不在搜索结果内。

    -OLEVEL选项,设置find优化级别,默认1。可选值:0,1,2,3

    0等同默认值

    1默认值,表达式被重新排序,以便测试仅基于文件名首先执行。

    2,任何“-type”或“-xtype”测试都是在基于仅在文件名上,但在任何需要来自inode的信息

    3,在此优化级别,完全基于成本的查询优化程序是启用

    -executable选项,查找有执行权限的文件。功能跟-perm选项类似。

    例22:查找有执行权限的后缀为“sh”的文件

    find ./ -executable  -name "*.sh" -exec ls -l {} \;

     如图,搜索结果的文件都有执行权限。

    类似的选项还有-readable选项-writable选项

    -used选项,上次访问文件是在上次更改其状态后n天。

    例23: 上次访问文件是在上次更改其状态后2天内

    find -used -2

    -uid选项,跟-user选项类似,但是使用帐户的uid作为参数

    -printf选项,格式化输出结果。

  • 相关阅读:
    java计算机毕业设计流浪动物救助站系统源码+系统+mysql数据库+lw文档
    数据结构-二叉树(2)
    重仓比特币
    按漏洞的攻击途径分类情况分析
    MFC Windows 程序设计[226]之下拉式列表(附源码)
    【Mybatis编程:修改数据(动态SQL)】
    计算机毕业设计-长途汽车售票系统SSM+JSP【代码讲解+安装调试+文档指导】
    Go runtime 调度器精讲(十一):总览全局
    【System】系统编程基础:编译和链接
    BGP联邦实验
  • 原文地址:https://blog.csdn.net/bigwood99/article/details/125522344