彻底搞明白find命令mtime含义和用法

别再搞混了!Linux find命令-mtime +n/-n/n的保姆级图解与实战(附清理日志脚本) 本文深入解析Linux find命令中-mtime +n/-n/n参数的原理与应用,通过时间轴图解和实战案例展示如何高效管理文件生命周期。特别针对日志清理等常见需求,提供安全可靠的脚本模板与最佳实践,帮助系统管理员精准掌握文件时间筛选技巧。 阅读详情
AI摘要

本文详细解析了Linux中find命令的mtime参数,阐述其在文件管理,特别是定时清理旧文件中的应用。通过实例讲解,帮助读者掌握mtime参数的不同用法,包括如何查找特定时间范围内的文件。

【引言】​

大家知道,在写shell脚本时,经常会crontab定时删除一些文件,会经常用到 find 命令的-mtime参数,之前只是在用,没具体理解,今天集中时间学习下。

 

Linux里面一切皆文件,想了解文件状态时间,就得熟悉 find命令中的-atime, -ctime,-mtime这三个参数,其中-mtime用的更多。

 

使用命令stat先看下文件或者目录的信息:

[root@localhost products]# stat oracle19c/

  File: ‘oracle19c/’

  Size: 4096            Blocks: 8          IO Block: 4096   directory

Device: fd02h/64770d    Inode: 37224449    Links: 68

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:unlabeled_t:s0

Access: 2020-06-30 13:46:49.819926683 +0800

Modify: 2020-06-30 11:12:17.099937512 +0800

Change: 2020-06-30 11:12:17.099937512 +0800

 Birth: -

 

可以看到,关于时间信息有三个:最近访问时间 access time (-atime)、最近更改时间modify time(-mtime)和 最近状态改动时间 change time(-ctime);但也看到了Birth创建时间一项为空,说明Linux系统下是无法查看文件的创建时间的。

 

先看下man find中的解释,大家直接看英文,这里不过多解释

-atime n

File  was  last  accessed  n*24 hours ago.  When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to  have been accessed at least two days ago.

 

-ctime n

File's status was last changed n*24 hours ago.  See the comments for -atime to understand how rounding affects the interpretation of file status change times.

 

-mtime n

File’s data was last modified n*24 hours ago.See the  comments  for  -atime  to  understand  how rounding affects the interpretation of file modification times.

 

解释-atime, -ctime 和 -mtime参数含义:

atime: 代表最近一次访问文件的时间,显示一个文件的内容或者运行一个shell脚本会更新文件的atime。可用ls -lu命令查看。在kernel 2.6.30之前,文件系统默认会及时的更新atime;此后版本,只有发生以下三种情况之一才会更新atime。

1. 将分区mount的挂载的时候指定采用非relatime方式

2. atime小于ctime或者小于mtime的时候

3. 本次的access time和上次的atime超过24个小时

 

mtime: 代表最近一次文件内容被修改的时间。可用ls -l 命令查看。

 

ctime: 代表最近一次文件状态的改变时间,是status change time,在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改,文件状态最后一次被改变的时间。可用ls -lc 命令查看。

 

在unix或linux环境中经常会用到find -mtime来找某时间点之前的文件,并在此基础上进行处理(如定期删除过期文件);

如何更好的理解find -mtime +N/-N/N,这里小结下:

-mtime n : n为数字,意思为在n天之前的“一天之内”被更改过内容的文件

-mtime +n : 列出在n天之前(不含n天本身)被更改过内容的文件名

-mtime -n : 列出在n天之内(含n天本身)被更改过内容的文件名

 

举个栗子:find $HOME -mtime 0

Search  for  files  in  your home directory which have been modified in the last twenty-four hours.  This command works this way because the time since each file was last modified is divided by 24 hours and  any remainder  is  discarded.   That means that to match -mtime 0, a file will have to have a modification in the past which is less than 24 hours ago.

 

将根目录下24小时内更改过内容的文件列出:

find / -mtime 0

 

场景举例:

找“5天之内被更改过的档案名”find / -mtime -5 ;

找“5天前的那一天被更改过的档案名”find / -mtime 5 ;

找“5天之前被更改过的档案名”find / -mtime +5。

 

下图来表现更直观,以便理解记忆。

 

由以上时间轴可以看出,最右边为当前时,+5 代表大于等于 6 天前的档案名, -5 代表小于等于 5 天内的档案名,5 则是代表 5-6 那一天的档案名。

 

【参考】

http://hi.baidu.com/ljm0211/item/d46591307a4985b9623aff33

【参考】

https://www.cnblogs.com/qiaopei/p/5515189.html


以下为个人公众号“一森咖记”,欢迎关注。

别再搞混了!Linux find命令-mtime +n/-n/n 参数详解与实战场景(附时间轴图解) 本文详细解析Linux find命令中-mtime参数的使用方法,包括+n/-n/n三种形式的区别与实战应用场景。通过时间轴图解和典型示例,帮助用户准确掌握文件时间筛选技巧,提升日志清理、备份管理等运维工作效率。 阅读详情

相关推荐

Linux下find命令使用

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。  语法  find(选项)(参数) 选项  选项  -amin:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;  -anewer:查找其存取时间较指定文件或

知秋一叶 5313

find -mtime详解

find -mtime 有三个情况:+n;-n;n

m0_58227576的博客 1099

JS+H5打字练习器

实现功能 1.导入.TXT文件到打字练习内容(部分浏览器可能出于安全问题限制了这一步操作) 2.输入文本到打字练习内(弹出输入框,将要练习的内容输入至输入框) 3. 开始练习,并根据正误在打字练习内容文本上修改颜色(某个字正确显示绿色,某个字错误,显示红色,某个字没有打显示灰色) 4.开始练习、结束练习,全部输入完成后自动结束练习,也可提前手动结束练习,结束练习后弹窗用显示时和正确率。(区别在于一个全部输入完成且全部正确,一个提前结束无其他条件) 效果图 分析 HTML 结构解析 根元素:<!DO

w11111xxxl的博客 1413

find 命令 mtime 参数(查找N天之前的文件)

find 命令 mtime 参数(查找N天之前的文件)

小单的博客专栏 1万+

一。CST 电路 微带低通滤波器设计练习 I

CST 电路和系统软件功能还是比较强的,我们一起一步一步学习,一起进步。 这个例子出现在CST的电路和系统软件功能(Circuit Simulation & SAM (System Assembly and Modeling) )介绍资料中。本文是用CST2021建模操作仿真到,不同版本在视觉和结果上稍有不同。 利用电路模块可以很快很准确地建立3D微带平面电路,用于仿真滤波器、功分器、巴伦等等。

麦克斯韦信徒的博客 3235

【第三只眼:Oracle通过归档日志查看系统的业务高峰sql】

根据oracle归档的业务高峰量,查找业务sql,进行优化

霍然的专栏 578

彻底搞明白find命令的-mtime参数的含义

以前一直没有弄明白find的 -mtime参数的真正含义 刚好今天跟一个同学聊起这个事 我在写shell脚本的时候,定时删除一些文件的时候,也经常用得到-mtime这个参数,所以打算好好看看,把它弄明白一下 man f...

cnktbkanb141909486的博客 3569

Android流畅度优化实战:从掉帧定位到布局与渲染调优

在移动应用开发中,性能优化是决定用户体验与留存率的关键环节,其中Android流畅度优化更是核心命题。用户感知的“卡顿”往往并非持续低帧率,而是由于掉帧率波动引发的偶发不流畅。本文从性能优化理论出发,系统讲解如何使用Systrace、CPU Profiler等工具定位掉帧瓶颈,深入分析布局层级过深、过度绘制、对象分配与GC压力等常见诱因。同时结合冷启动耗时、列表滚动掉帧、Bitmap加载等真实工程案例,阐述从应用层到系统层的分级优化策略,并给出低端机适配、异步化改造及线上监控体系搭建的实践方案。内容覆盖布局

weixin_29185493的博客 200

find -name mysql_彻底搞明白find命令的-mtime参数的含义

以前一直没有弄明白find的 -mtime参数的真正含义刚好今天跟一个同学聊起这个事我在写shell脚本的时候,定时删除一些文件的时候,也经常用得到-mtime这个参数,所以打算好好看看,把它弄明白一下man find里的解释:-mtime nFile’s data was last modified n*24 hours ago. See the comments for -atime ...

weixin_36124888的博客 421

自动驾驶算法/规划决策控制算法面经汇总、学习路线、面经心得

自动驾驶算法学习路线,面试求职大全

qq_41667348的博客 1万+

超临界二氧化碳再热再压缩布雷顿循环建模与先进控制

超临界二氧化碳布雷顿循环建模与先进控制研究 本文研究了超临界二氧化碳再热再压缩布雷顿循环系统的建模与控制。通过MATLAB/Simscape构建了包含压缩机、透平、回热器等关键组件的动态模型,并设计了基于模型预测控制(MPC)和自抗扰控制(ADRC)的多层控制策略。系统采用转速控制的压缩机、阀门开度控制的透平,以及可变热源加热器,实现了全动态分析。研究结果表明,MPC与ADRC混合控制方案相较于传统PID控制,功率超调降低至0.9%,效率波动控制在±0.08%,扰动恢复时间缩短至12秒。

AI的内部世界的博客 340

php find 返回什么意思,彻底搞明白find命令的-mtime参数的含义

以前一直没有弄明白find的 -mtime参数的真正含义我在写shell脚本的时候,定时删除一些文件的时候,也经常用得到-mtime这个参数,所以打算好好看看,把它弄明白一下man find里的解释:-mtime nFile’s data was last modified n*24 hours ago. See the comments for -atime to understan...

weixin_29704001的博客 212

innovus:addRepeaterByRule用法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。

m0_61544122的博客 1089

Linux之find命令(-atime,-ctime,-mtime)

关于find命令,以拙见总结如下: 定义: find命令用来在指定目录下查找文件。 任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。 并且将查找到的子目录和文件全部进行显示。 今天来看看Linux系统下-atime,-ctime,-mtime的具体含义: 先来看看Linux系统下,一个文件的状态信息:看图...

Gorden的博客 1636

Python数据分析师必备:OpenClaw开启Pandas清洗脚本自动生成新时代

本文介绍了OpenClaw这一AI智能体框架如何帮助Python数据分析师高效完成数据清洗工作。OpenClaw通过自然语言交互理解用户需求,自动生成Pandas清洗脚本,显著提升了数据清洗效率,降低了技术门槛。文章详细阐述了OpenClaw的工作原理、实战应用步骤及其在电商、金融、医疗等行业中的成功案例。相比传统手动编写脚本方式,OpenClaw能快速生成规范准确的清洗代码,使数据分析师能更专注于业务洞察。该工具为数据驱动决策提供了可靠支持,是数据分析领域的重要创新。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 230

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

find命令之(-atime,-ctime,-mtime)

find命令之(-atime,-ctime,-mtime)

码城的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

linux的-Mtime 命令

我在写shell脚本的时候,定时删除一些文件的时候,也经常用得到-mtime这个参数,所以打算好好看看,把它弄明白一下 man find里的解释: -mtime n File’s data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification tim...

hzp666的博客 5264

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

彻底搞明白find命令的-mtime参数的含义【转载】

转自: 彻底搞明白find命令的-mtime参数的含义-goolen-ITPUB博客http://blog.itpub.net/23249684/viewspace-1156932/   以前一直没有弄明白find的 -mtime参数的真正含义刚好今天跟一个同学聊起这个事我在写shell脚本的时候,定时删除一些文件的时候,也经常用得到-mtime这个参数,所以打算好好看看,把它弄明白一下ma...

weixin_33858249的博客 179

linux find mtime 用法,Linux find命令常见用法汇总(4)

使用chown, chgrp, chmod命令可以很好的比较mtime和ctimechown改变一个文件的属主,用ctime可以找到,用mtime便找不到。试试看。多谢斑竹! 我是在 Solaris 上面试的。我是对 -ctime 不明白。试的结果如下:修改文件,-mtime 改了, -ctime 也会改。访问文件,-atime 改了, -ctime 没变。chown, chgrp, chmod,...

weixin_33154775的博客 425

Linux下的find指令

Linux下find命令提供了相当多的查找条件,功能很强大,但是不到万不得已的时候是不会用它来查找文件的,因为它存在两个缺陷:一是查找速度慢,二是费硬盘。        通常情况下,我们都是先使用whereis或者locate来查找,如果真的找不到了,才用find来查找。这里需要明白一点的是linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和locate时,会从

qq_29503203的博客 8204

记:linux下find命令的参数-mtime的n值乘的是48小时,不是24小时

我写了一个SHELL脚本来删除旧的文件,结果发现执行不正确:#!/bin/bash#删除4天以前的文件find /log/somedata/ -mtime +4 -exec rm -f {} /;echo "complete"单独提出find //log/somedata/ -mtime +4来执行,发现根本不是那么回事情。然后又写了一个相反的命令来对比:#查找4天内的文件find

1876

linux find -mtime_玩转linux

首先先去买一台服务器吧。然后你本地(windows)安装个xshell,xftp然后连接到服务器安装rz 和szLinux系统下安装rz/sz命令及使用说明 - 信则成 - 博客园​www.cnblogs.com安装nvmhttps://blog.youkuaiyun.com/xw245184020/article/details/80974473​blog.youkuaiyun.com安装node nvm instal...

weixin_39640543的博客 123
上一篇: My Introduction for Oracle ACE
下一篇: CentOS能不能替换RHEL?!
db_murphy
博客等级 码龄11年 145粉丝 197原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值