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

  • 相关阅读:
    2023 年最新腾讯官方 QQ 机器人(QQ 群机器人 / QQ 频道机器人)超详细开发教程
    (CVPR-2019)选择性的内核网络
    CSS进阶向--配合Vue动态样式实现“超炫酷”圆环菜单
    wangeditor 编辑器图片上传遇到的问题: u.upload.addEventListener is not a function
    MD5加密【代码实现】
    深度学习&PyTorch 之 RNN-中文多分类
    迭代器模式:遍历容器内元素
    从语法的角度刷LeetCode题库
    day18 代码回想录 二叉树05 找树左下角的值&路径总和&从中序与后序遍历序列构造二叉树
    算法通关村第六关—序列恢复二叉树(青铜)
  • 原文地址:https://blog.csdn.net/bigwood99/article/details/125522344