• 【Linux】find命令


    用途

    find命令用于在指定目录下查找文件。

    全称

    参数

    -name :后跟需要匹配的文件名模式,需要使用引号引起来

    下面是一些简单的示例查找:(~表示$HOME目录)

    1.查找当前$HOME下'.log'结尾的文件

    find ~ –name "*.log" –print

    2.当前目录与子目录下查找所有'.log'结尾的文件

    find . –name "*.log" –print

    3.当前目录与子目录下查找文件名以一个大写字母开头的文件

    find . –name "[A-Z]" –print

    4.在/etc目录下查找文件名以host开头的文件

    find /etc –name "host*" –print

    5.在当前目录查找文件名以一个小写字母开头,最后是4到9加上.txt结束的文件

    find . –name "[a-z]*[4-9].txt" –print

    -iname :根据文件名查找文件,不区分大小写

    1.查找文件名为.log结尾的文件,不区分大小写

    find . –iname "*.log" –print

    -perm :后跟文件权限,按文件权限模式来查找文件

    1.查找当前目录下文件权限为777的文件

    find . –perm 777 –print

    -prune :忽略某个目录

    1.希望在tmp下查找,但不希望在/tmp/tmp1下查找

    find test –path "/tmp/tmp1" –prune –o –print

    2.希望在tmp下查找,但不希望在/tmp/tmp1、/tmp/tm2、/tmp/tmp3等多个文件夹下查找

    find test (–path tmp/tmp1 –o –path tmp/tmp2 –o –path tmp/tmp2 ) –prune –o –print

    -user与nouser :根据文件属主查找与查找属主账户已经被删除的文件

    1.查找文件属主为qinys的所有文件

    find ~ –user qinys –print

    2.查找删除用户Tom的文件

    find /home –nouser  –print

    -group与nogroup :根据文件属于的用户组查找与查找属用户组已经被删除的文件

    1.查找文件属主为qinys的所有文件

    find ~ –group gp1 –print

    2.查找删除用户Tom的文件

    find /home –nogroup  –print

    -mtimeatimectime :根据更改时间或者访问时间等查找文件

    1.在根目录下查找更改时间在5日以内的文件

    find / –mtime -5 –print

    2.查找/home目录下3日以前的文件

    find / –mtime +3 –print

    -newer :查找更改时间比某个文件新但另外一个文件旧的所有文件

    语法:new_file_name ! old_file_name

    其中!是逻辑非符号

    1.查找更改时间比文件a.log新,但比文件b.log旧的文件(假如现在是在目录/home下)

    find –newer a.log ! -newer b.log

    2.查找更改时间比tmp.log新的文件

    find . –newer tmp.log

    -size :根据文件大小来查找文件(这里的文件长度既可以使用块来计量,也可以使用字节来计量)

    1.查找当前目录下文件长度大于1M字节的文件

    find . –size +1000000c –print

    2.在目录/home下查找文件长度恰好为100字节的文件

    find . –size 100c –print

    3.在当前目录下查找长度超过10块的文件(一块等于512字节)

    find . –size +10 –print

     -type查找某一类型的文件,诸如:
    b - 块设备文件。
    d - 目录。
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。
    f - 普通文件。

    案例

    1.在目录中查找更改时间在6日以前的文件并删除他们(注:今天是20190109)

    image

    从上图我们可以看出,符合查找的文件test.sh已经被删除

    2.在目录中查找更改时间在1日以前后缀为.log的文件并删除他们,删除时候提示

    image

  • 相关阅读:
    如何快速搞定websocket
    websocket断网消息补发
    div嵌套多个点击事件,点击后如何阻止多次事件触发冒泡
    仿照 MediatR实现了一个中介者模式Publish功能,使用同MediatR
    git提交指南(超级详细)
    删除github中的文件夹
    抽取进程集成模式注册报错,OGG-08221,OCI Error ORA-44004 invalid qualified SQL Name
    Oracle-参数学习_no_or_expansion
    OGG19版本源端新增字段,目标端复制进程不报错,使用MAPALLCOLUMNS进行测试
    Oracle存储过程如何定位慢SQL?
  • 原文地址:https://www.cnblogs.com/OliverQin/p/10248631.html
Copyright © 2020-2023  润新知