• shell脚本之find命令


    find命令格式介绍

    find命令是Shell脚本中非常重要的命令之一,它用于在文件系统中查找文件和目录。它的基本语法如下:

    find [路径] [选项] [表达式] [动作]
    
    • 1

    其中:

    [路径]:指定从哪个目录开始查找。如果未指定,那么从当前目录开始查找。
    [选项]:find有很多选项,用于修改其行为。例如,-name选项允许你根据文件名查找文件,-type选项允许你根据文件类型查找文件。
    [表达式]:这是你要查找的文件的描述。例如,你可以查找所有名为*.txt的文件,或者所有修改日期在2022年的文件。
    [动作]:在找到文件后,你可以让find执行一些动作。例如,你可以让find打印出所有找到的文件名,或者删除所有找到的文件。

    find命令参数

    以下是find命令的一些常见参数:

    -name pattern:按照指定的文件名模式进行匹配查找。
    -type type:按照指定的文件类型进行查找,如普通文件、目录、符号链接等。
    -user username:按照指定的文件属主进行查找。
    -group groupname:按照指定的文件属组进行查找。
    -size n[c]:按照指定的文件大小进行查找,可以使用c后缀表示单位,如k表示KB,M表示MB。
    -mtime n:按照指定的文件修改时间进行查找,表示在指定天数之前修改过的文件。
    -newer file:按照指定的文件的新旧程度进行查找,表示查找比指定文件新的文件。
    -exec command {} ;:对查找到的文件执行指定的命令。
    -delete:在查找到文件后直接删除它们。
    还有很多其他参数,这只是其中的一部分。你可以通过查看find命令的帮助文档或使用man find命令来获取更详细的信息。

    find命令例子

    下面是一些常见的find命令示例:
    1)查找当前目录及其子目录中所有名为*.txt的文件,并打印出它们的文件名:

    find . -name "*.txt" -print
    
    • 1

    2)查找/home/user目录及其子目录中所有类型为普通文件(而非目录或链接等)的文件,并打印出它们的文件名:

    find /home/user -type f -print
    
    • 1

    3)查找当前目录及其子目录中所有大于1MB的文件,并打印出它们的文件名:

    find . -size +1M -print
    
    • 1

    4)查找/var/log目录及其子目录中所有修改日期在2022年的文件,并删除它们:

    find /var/log -type f -newermt 2022-01-01 ! -newermt 2023-01-01 -delete
    
    • 1

    注意:在使用-delete选项时要小心,因为它会永久删除找到的文件。在运行这样的命令之前,最好先备份你的数据。

  • 相关阅读:
    S32K144烧写程序记录
    UDP接收报文函数recvfrom和UDP发送报文函数sendto
    pikachu靶场通关全流程
    深入理解比特币原理4----比特币网络设计
    【HMS Core】集成多种HMS Core服务,让APP成为旅行小助手
    go操作Kfaka
    Python 实现Web API
    前端怎么从H5调起微信扫描二维码?小程序使用扫码功能.
    【CVPR2022 点云3D检测SOTA】SoftGroup for 3D Instance Segmentation on Point Clouds
    Java(99):Java针对Mongo数据库的工具类MongoDBUtil
  • 原文地址:https://blog.csdn.net/techenliu/article/details/132910666