例如,MySQL 服务器正在我的 Ubuntu 机器上运行。在过去 24 小时内,某些数据已更改。
哪些 (Linux) 脚本可以找到过去 24 小时内已更改的文件?
请列出文件名、文件大小和修改时间。
要在特定特定目录及其子目录中查找过去 24 小时(最后一整天)内修改的所有文件:
find /directory_path -mtime -1 -ls
应该是你喜欢的
1
之前的 -
很重要 - 它表示一天或更早之前发生的任何更改。 1
之前的 +
表示至少在一天前发生了任何变化,而在 1
之前没有任何内容则意味着它在一天前被严格更改,不多也不少。
另一种更人性化的方式:
find /<directory> -newermt "-24 hours" -ls
或者:
find /<directory> -newermt "1 day ago" -ls
或者:
find /<directory> -newermt "yesterday" -ls
你可以这样做
find . -mtime 0
从 man find
:
[The] 自上次修改每个文件以来的时间除以 24 小时,其余的将被丢弃。这意味着要匹配 -mtime 0,文件必须在过去不到 24 小时前进行过修改。
在 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
一次列出一页结果。
| less
而不是 | more
。
more
或 less
... ;)
对于将来登陆这里的其他人(包括我自己),添加 -name 选项以查找特定文件类型,例如:find /var -name "*.php" -mtime -1 -ls
这个命令对我有用
find . -mtime -1 -print
找到文件...
您可以设置类型 f = 文件
find /directory_path -type f -mtime -1 -exec ls -lh {} \;
👍
不定期副业成功案例分享
-
在数值前?-ls