• 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选项,格式化输出结果。

  • 相关阅读:
    基于IDEA 进行Maven依赖管理
    学习教授LLM逻辑推理11.19
    2022最新版-李宏毅机器学习深度学习课程-P49 GPT的野望
    JDK1.8更便捷获取时间的方法:LocalDateTime、LocalDate、LocalTime、Period
    Java项目:JSP宿舍管理系统
    如何理解vue声明式渲染
    谷歌评价:从服务器检索信息时出错。DF-DFERH-01
    俄罗斯 Android 系统受限,或将转用 HarmonyOS?
    Python的一些Pythnoic【我自己没读完,待看待再次整理】
    c/c++基本语法逆向分析
  • 原文地址:https://blog.csdn.net/bigwood99/article/details/125522344