查找过去24小时内更改的文件

Jac*_*kWM 233 linux bash find

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

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

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

Xav*_*jer 437

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

find /directory_path -mtime -1 -ls
Run Code Online (Sandbox Code Playgroud)

应该是你喜欢的

-之前1是非常重要的-这意味着任何改变一天或更短前.一个+1反而会意味着什么改变至少一天前,当一无所有之前1就意味着它被改变一天前付出,没有更多,不会少.

  • 使用"-mmin -120"而不是mtime (103认同)
  • 太好了!过去2个小时怎么样? (14认同)
  • -mtime的参数被解释为文件年龄中的整天数.-mtime + n表示严格大于-mtime -n表示严格小于. (4认同)
  • 致读者:在脚本中使用时,别忘了删除`-ls` (2认同)

Mic*_*ael 39

你可以这样做

find . -mtime 0
Run Code Online (Sandbox Code Playgroud)

来自man find:

自上次修改每个文件以来的时间除以24小时,任何余数都将被丢弃.这意味着要匹配-mtime 0,文件必须在过去不到24小时之前进行修改.


Max*_*kin 20

另一种更人道的方式:

find /<directory> -newermt "-24 hours" -ls
Run Code Online (Sandbox Code Playgroud)

要么:

find /<directory> -newermt "1 day ago" -ls
Run Code Online (Sandbox Code Playgroud)

要么:

find /<directory> -newermt "yesterday" -ls
Run Code Online (Sandbox Code Playgroud)


Ste*_*ggy 10

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

find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more
Run Code Online (Sandbox Code Playgroud)

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

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

  • 您也可以使用`| 更少`而不是`| 我想还有更多。 (2认同)

小智 5

这个命令对我有用

find . -mtime -1 -print
Run Code Online (Sandbox Code Playgroud)


res*_*sue 5

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