linux显示24小时之前的内容,关于linux:查找过去24小时内更改的文件

例如,MySQL服务器正在我的Ubuntu机器上运行。 某些数据在过去24小时内已更改。

什么(Linux)脚本可以找到过去24小时内更改过的文件?

请列出文件名,文件大小和修改时间。

你可以使用stackoverflow.com/questions/4561895/

要查找特定特定目录及其子目录中过去24小时(最后一整天)中修改的所有文件:

find /directory_path -mtime -1 -ls

应该是你喜欢的

1之前的-很重要 - 它意味着一天或更短时间内发生了任何变化。

1之前的+意味着至少在一天之前发生了任何变化,而在1之前没有任何东西意味着它在一天前被改变了,不多也不少。

太好了! 过去2个小时怎么样?

使用"-mmin -120"而不是mtime

谢谢你的回答,但我想得到返回值,如果这个命令有一些修改过的文件,如果没有?

我是否理解正确,如果修改了任何文件,你想检查一个目录,并返回一个布尔值告诉你是否有?

为什么-之前的数值?

-mtime的参数被解释为文件年龄中的整天数。 -mtime + n表示严格大于-mtime -n表示严格小于。

对于读者:在脚本中使用时不要忘记删除-ls

你可以这样做

find . -mtime 0

来自man find:

[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.

另一种更人道的方式:

find / -newermt"-24 hours" -ls

要么:

find / -newermt"1 day ago" -ls

要么:

find / -newermt"yesterday" -ls

在GNU兼容系统(即Linux)上:

find . -mtime 0 -printf '%T+\t%s\t%p

' 2>/dev/null | sort -r | more

这将列出在过去24小时内修改过的文件和目录(-mtime 0)。它将以可排序和人类可读的格式(%T+)列出最后修改时间,然后是文件大小(%s),后跟完整文件名(%p),每个都是分开的通过制表符(\t)。

2>/dev/null抛弃任何stderr输出,以便错误信息不会使水变得混乱; sort -r按最近修改的结果对结果进行排序;并且| more一次列出一页结果。

我想你也可以使用| less而不是| more。

这个命令对我有用

find . -mtime -1 -print

对于将来降落在这里的其他人(包括我自己),添加-name选项以查找特定的文件类型,例如:find /var -name"*.php" -mtime -1 -ls

您需要使用双引号保护*,否则它将在命令行上展开:find /var -name"*.php" -mtime -1 -ls

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值