oracle find 命令,Shell中exec命令和find

1、find中的-exec参数

实例:

按时间删除命令:

删除当前目录下30天以前的所有文件:

find . -type f -ctime +30 -exec rm -fr {} \;

删除当前目录下30天以前的所有目录:

find . -type d -ctime +30 -exec rm -fr {} \;

删除/oracle/123目录下3天以前的文件:

find /oracle/123 -type f -ctime +3 -exec rm -rf {}\ ;

删除当前目录下30天以前,名称匹配"*awr*.html"的文件:

find . -type f -name "*awr*.html" -ctime +30 -exec rm -fr {} \;

find命令中的-mtime参数

有关find -mtime这个参数的使用确实是我以前犯过错误。

今天又有人问到我这个问题,我觉得有必要把这个问题在这里记录下来。

mtime参数的理解应该如下:

n表示文件更改时间距离为n天, -n表示文件更改时间距离在n天以内,+n表示文件更改时间距离在n天以前。

例如:

-mtime 0 表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文件。

-mtime 1 表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件。

-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间2天(48小时)之外的文件

-mtime -1 表示文件修改时间为小于1天的文件,即距离当前时间1天(24小时)之内的文件

为什么-mtime+1 表示文件修改时间为大于1天的文件,即距离当前时间48小时之外的文件,而不是24小时之外的呢?

因为n值只能是整数,即比1大的最近的整数是2,所有-mtime+1不是比当前时间大于1天(24小时),而是比当前时间大于2天(48小时)。

-exec command:command为其他指令,-exec后面可再接额外的指令来处理搜索到的结果

6be7ad41ee08

图片.png

-exec 参数后面跟的是 command 命令,它的终止是以“;”为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值