Linux

如何知道最近更新的文件

  • January 8, 2013

如果我執行 iostat -x 1,我偶爾會看到 5MB 到 10MB 的寫入。

正在寫入哪些文件?

例如,我想檢查最近創建的大小超過 5MB 的文件。

我該怎麼做?

在 /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

範例:查找最近 30 分鐘內修改的 /var/log 中的所有文件(包括子目錄)

find /var/log -cmin -30

在 /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

範例:查找 /var/log 中所有大於 50k 的文件(包括子目錄)

find /var/log -size +50k

結合

範例:查找 /var/log 中所有大於 50k 的文件(包括子目錄)在過去 30 分鐘內修改

find /var/log -cmin -30 -size +50k

如果您想在結果中包含 50k,請更改為

find /var/log -cmin -30 -size +49k

PS:避免這樣做find / .....不僅會花費很長時間,而且還包括通常不適合搜尋的目錄(/dev,/sys,/proc,…)。

引用自:https://unix.stackexchange.com/questions/60605