例如,我的Ubuntu机器上运行着一台MySQL服务器。一些数据在过去的24小时内发生了变化。
哪些(Linux)脚本可以找到在过去24小时内发生更改的文件?
请列出文件名、文件大小和修改时间。
发布于 2013-04-18 22:42:09
要在特定的特定目录及其子目录中查找在过去24小时(最近一整天)内修改的所有文件,请执行以下操作:
find /directory_path -mtime -1 -ls
应该是你喜欢的
1
之前的-
很重要-它意味着一天前或更短时间前发生的任何更改。相反,1
之前的+
将意味着至少一天前的任何更改,而在1
之前没有任何东西将意味着它是在一天前强制更改的,不多也不少。
发布于 2016-12-09 02:30:20
另一种更人性化的方式:
find /<directory> -newermt "-24 hours" -ls
或者:
find /<directory> -newermt "1 day ago" -ls
或者:
find /<directory> -newermt "yesterday" -ls
发布于 2016-07-24 08:01:27
在GNU兼容系统(即Linux)上:
find . -mtime 0 -printf '%T+\t%s\t%p\n' 2>/dev/null | sort -r | more
这将列出在过去24小时内修改过的文件和目录(-mtime 0
)。它将以可排序和人类可读的格式(%T+
)列出它们的最后修改时间,然后是文件大小(%s
),然后是完整的文件名(%p
),每个文件名都用制表符(\t
)分隔。
2>/dev/null
会丢弃任何stderr输出,这样就不会出现错误消息;sort -r
会首先根据最近修改的内容对结果进行排序;而| more
则会一次列出一页结果。
https://stackoverflow.com/questions/16085958
复制相似问题