linux 查找最近24小时内更改过的文件

avkwfej4  于 2022-12-11  发布在  Linux
关注(0)|答案(7)|浏览(801)

例如,一个MySQL服务器正在我的Ubuntu机器上运行。一些数据在过去24小时内被更改。
哪些(Linux)脚本可以找到过去24小时内更改过的文件?
请列出文件名、文件大小和修改时间。

eulz3vhy

eulz3vhy1#

要在特定目录及其子目录中查找最近24小时(最近一整天)内修改的所有文件,请执行以下操作:

find /directory_path -mtime -1 -ls

应该合你的意
1前面的-很重要--它表示一天或不到一天前发生的任何更改。1前面的+表示至少一天前发生的任何更改,而1前面的空表示一天前发生的更改,不多不少。

kqqjbcuj

kqqjbcuj2#

另一种更 * 人道 * 的方法是使用-newermt选项,它理解人类可读的时间单位。
-mtime选项不同,-mtime在20世纪80年代几乎不可接受,但在21世纪,-mtime具有石器时代工具的方便性和安全性。
-newermt选项的示例用法,其中相同的持续时间以不同的人类友好单位表示:

find /<directory> -newermt "-24 hours" -ls
find /<directory> -newermt "1 day ago" -ls
find /<directory> -newermt "yesterday" -ls
8i9zcol2

8i9zcol23#

您可以使用

find . -mtime 0

man find开始:
[The]每个文件最后一次修改后的时间除以24小时,剩余的时间被丢弃。这意味着要匹配-mtime 0,文件必须在过去24小时内有过修改。

wfsdck30

wfsdck304#

在兼容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一次列出一页结果。

k4ymrczo

k4ymrczo5#

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

t9aqgxwy

t9aqgxwy6#

此命令对我有效

find . -mtime -1 -print
hgncfbus

hgncfbus7#

查找文件...
可以设置类型f = file

find /directory_path -type f -mtime -1 -exec ls -lh {} \;

👍

相关问题