博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
find中的mtime,工作中遇(一直在改变系列5)
阅读量:6677 次
发布时间:2019-06-25

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

我会把《一直在改变系列》一直保持下去,直到我离职,并成功变身。

今天在工作的时候要写一句脚本,想把7天以外的文件删除。

使用 find -name "[0-9][0-9][0-9][0-9]" -type d -mtime +7 | rm -rf {} /

类似于上面那样,却发现,+7的作用没有体现,7天前的文件没有删除。网上查了后,被误导用24小时去计算,发现也不对,然后自己琢磨实验了下:

发现 -7代表现在-第7天

  7代表第7天-第8天

  +7代表第8天后

当然时间的确是用24小时去算的,因为要从现在的时间开始向后推。

网上有人分享出来的知识终于与我想的一样了:

有关find -mtime这个参数的使用确实是我以前犯过错误。今天又有人问到我这个问题,我觉得有必要把这个问题在这里记录下来。
mtime参数的理解应该如下:
-mtime n 按照文件的更改时间来找文件,n为整数。
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小时)。
 
 
其他的atime ctime 也是一样的道理!

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

你可能感兴趣的文章
centos 6.9安装jira 7.6.0
查看>>
linux开启内部路由转发功能
查看>>
Android Camera简述
查看>>
黑客教学之后门篇
查看>>
linux下yum安装配置zabbix监控
查看>>
UITableViewCell的标记、移动、删除、插入
查看>>
Centos操作疑难
查看>>
一些比较值得思考和了解的.NET相关的面试题
查看>>
Spring Cloud在国内中小型公司能用起来吗?
查看>>
mongodb 关闭服务 mongod -f /root/mongodb/bin/xx.conf --shutdown
查看>>
在dw下安装zen coding,并对其快捷键进行修改
查看>>
Windows Mobile上的HTML解析器
查看>>
Linux系统时间与RTC时间【转】
查看>>
Android -- isInEditMode
查看>>
Windows Phone 7 开发 视频资料
查看>>
iOS:一些常用的框架
查看>>
Android开发环境——Eclipse ADT相关内容汇总
查看>>
C语言-函数
查看>>
Objective-C:用命令行参数的格式对文件进行IO操作
查看>>
一道算法题,看看大家的思路
查看>>