Linux四剑客之find

1. Find 命令介绍

find 命令是在Linux和UNIX系统中用于搜索文件和目录的强大工具。它可以根据文件名、类型、大小、权限、所有者、修改日期等条件来查找文件。

1.1. 功能

  • 递归地搜索符合条件的文件和目录。
  • 根据多种不同的条件进行文件查找。

1.2. 用途

  • 查找系统中的文件和目录。
  • 用于脚本中自动化文件管理任务。
  • 用于备份和恢复任务,查找大文件或旧文件。

1.3. 基本用法

find [path...] [expression]
  • path:指定搜索的起始目录。
  • expression:定义搜索条件的表达式。

1.4. 常用命令参数

参数

描述

-name

按照文件名查找。

-type

指定文件类型(例如 f

表示文件,d

表示目录)。

-size

按照文件大小查找。

-mtime

按照文件内容上次修改时间查找。

-user

按照文件所有者查找。

-group

按照文件所属的用户组查找。

-perm

按照文件权限查找。

-maxdepth

指定查找的最大深度。

-mindepth

指定查找的最小深度。

-exec

对匹配的文件执行指定的命令。

-print

打印匹配的文件名(默认操作)。

-delete

删除匹配的文件。

1.5. 示例

1.5.1. 查找指定目录下的所有文件和目录

find /path/to/directory -type f -o -type d

1.5.2. 查找名为 "example.txt" 的文件

find /path/to/directory -name "example.txt"

1.5.3. 查找最近7天修改过的文件

find /path/to/directory -mtime -7

1.5.4. 查找大小大于10MB的文件

find /path/to/directory -size +10M

1.5.5. 查找属于用户 "john" 的文件

find /path/to/directory -user john

1.5.6. 查找权限为755的文件

find /path/to/directory -perm 755

1.5.7. 查找并删除名为 ".bak" 的文件

find /path/to/directory -name "*.bak" -delete

find 命令非常灵活,可以通过组合不同的参数和操作来满足复杂的文件查找需求。

1.5.8. 查找三天之前的日志文件并删除或者压缩

find /var/log -type f -name "*.log" -mtime +3 | xargs rm -f
find /var/log -type f -name "*.log" -mtime +3 -exec rm -f {} \;
find /var/log -type f -name "*.log" -mtime +3 -exec rm -f {} +
#在平常使用-exec时\;和+没有什么区别,但是在使用打包压缩的时候一定要使用+
find /var/log -type f -name "*.log" -mtime +3 -exec tar -zcf /tmp/wxx.tar.gz {} +
直接上图展示
find /var/log -type f -name "*.log" -mtime +3 -exec tar -zcf /tmp/wxx.tar.gz {} \;

find /var/log -type f -name "*.log" -mtime +3 -exec tar -zcf /tmp/wxx.tar.gz {} +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值