如何知道最近更新的文件

use*_*951 3 linux monitoring io files

如果我运行 iostat -x 1,我偶尔会看到 5MB 到 10MB 的写入。

正在写入什么文件?

例如,我想检查最近创建的大小超过 5MB 的文件。

我该怎么做?

Joh*_*Siu 7

在 /path 下查找 X 分钟内修改的文件

find /path -cmin -X

Sign before minute:
    + more than X minutes / over X minutes
    - less than X minutes / within X minutes
   (no sign) exact
Run Code Online (Sandbox Code Playgroud)

示例:查找 /var/log(包括子目录)中最近 30 分钟内修改的所有文件

find /var/log -cmin -30
Run Code Online (Sandbox Code Playgroud)

在 /path 下查找大小为 X 的文件

find /path -size +X<unit>

Sign before size:
    + larger than
    - less than
   (no sign) exact

<unit> :
    b = block (default,512byte)
    c = byte
    w = word (2-byte)
    k = kbyte
    M = Mbyte
    G = Gbyte
Run Code Online (Sandbox Code Playgroud)

示例:查找 /var/log(包括子目录)中大于 50k 的所有文件

find /var/log -size +50k
Run Code Online (Sandbox Code Playgroud)

结合

示例:查找/var/log(包括子目录)中所有在过去 30 分钟内修改的大于 50k 的文件

find /var/log -cmin -30 -size +50k
Run Code Online (Sandbox Code Playgroud)

如果要在结果中包含 50k,请更改为

find /var/log -cmin -30 -size +49k
Run Code Online (Sandbox Code Playgroud)

PS:避免这样做,find / .....因为它不仅需要很长时间,而且还包括通常不适合搜索的目录(/dev、/sys、/proc、...)。