博客
关于我
Linux[find命令]-根据路径和条件搜索指定文件并删除
阅读量:791 次
发布时间:2023-02-02

本文共 1593 字,大约阅读时间需要 5 分钟。

find命令简介

find命令是Linux系统中一个强大的文件管理工具,用于根据路径和条件查找特定文件或目录。尽管其参数灵活且支持正则表达式,但建议避免在大型服务器上执行全盘搜索,以免造成系统性能下降。

常用 options参数搜索

按文件名搜索

  • -name:按文件名搜索,区分大小写,适用于精确匹配。

    find /usr/local/temp2/ -name test.log

    找到文件:/usr/local/temp2/test.log

  • -iname:按文件名搜索,不区分大小写,适用于不关心大小写的查找。

    find ./ -iname test.log

    找到文件:./test.log, ./Test.log

  • -inum:按文件inode号搜索,适用于已知文件inode号的特定查找。

    find ./ -inum 169322632

    找到文件:./test.log


按文件类型搜索

  • -type d:查找目录。

    find /usr/local/temp2/ -type d

    找到目录:/usr/local/temp2/2023-10-09/usr/local/temp2/2023-10-10

  • -type f:查找普通文件。

    find /usr/local/temp2/ -type f

    找到文件:/usr/local/temp2/test.log/usr/local/temp2/Test.log

  • -type l:查找符号链接文件。

    (此示例中未提供符号链接文件)


基于目录深度搜索

  • -maxdepth LEVELS:限制搜索深度。

    find /usr/local/temp2/ -maxdepth 1 -type d

    仅查找当前目录及一层子目录下的目录。

  • -mindepth LEVELS:忽略指定深度以下的文件或目录。

    find /usr/local/temp2/ -mindepth 1 -type f

    排除当前目录及一层子目录外的文件。


按修改时间搜索

  • -atime[±]时间:按文件访问时间查找,记录文件最后一次被访问的时间。

    例如,查找6天前的文件:

    find /usr/local/temp2 -mtime +5
  • -mtime[±]时间:按文件数据修改时间查找,更新文件内容会重置这些时间。

    例如,查找5~6天那一天修改的文件:

    find /usr/local/temp2 -mtime 5
  • -ctime[±]时间:按文件状态修改时间查找,修改文件属性或内容时更新。


按文件大小搜索

  • -size[±]大小:按照文件大小筛选文件。

    例如,查找小于2MB的文件:

    find /usr/local/temp2 -size -2M

    找到文件:/usr/local/temp2/test.log, /usr/local/temp2/Test.log


其他选项

-print选项

将找到的文件输出到标准输出:

find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -print

-exec选项

将找到的文件或目录提交给外部命令处理:

find /usr/local/temp2 -maxdepth 1 -type f -mtime -5 -exec rm -rf {} \;

注意:{}表示查找到的文件,;结束命令。


-ok选项

-exec类似,但在处理前会提示用户确认:

find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -ok rm -rf {} \;

用户输入y后才执行命令:

[root@centos7 temp2]# find /usr/local/temp2 -mindepth 2 -type d -mtime -5 -ok rm -rf {} \; y

转载地址:http://zkzfk.baihongyu.com/

你可能感兴趣的文章
Linux OpenSSL 生成CA证书及终端用户证书
查看>>
linux pgsql9.5全库备份,Fedota 24 将数据库升级到 PostgreSQL 9.5
查看>>
linux php环境文件可以随便放吗,linux下如何安装php环境
查看>>
Linux ps命令,使用的好,效率爆棚!
查看>>
linux qt creator arm,Linux 下 PC 與 ARM 版 qt + opencv 環境搭建(Qt Creator)
查看>>
Linux questions
查看>>
LINUX REDHAT第十一单元练习题
查看>>
Linux rm 删除指定文件外的其他文件 方法汇总
查看>>
linux scp命令参数及用法详解--linux远程复制拷贝命令使用实例【转】
查看>>
linux sed 批量替换字符串
查看>>
linux sed命令详解
查看>>
linux sed命令详解
查看>>
Linux Shell脚本处理JSON字符串
查看>>
Linux Shell脚本通过参数名传递参数
查看>>
Linux SNMP支持IPv6配置实战
查看>>
Linux Socket学习--域和套接口简介
查看>>
Linux tail 命令详解
查看>>
linux tar 备份命令
查看>>
Linux Terminator
查看>>
linux tex文件编译,用latexmk编译XeLaTeX tex文件
查看>>