例如,MySQL服务器正在我的Ubuntu机器上运行。部分数据在过去24小时内发生了更改。
什么(Linux)脚本可以找到在过去24小时内被更改的文件?
请列出文件名称、文件大小和修改时间。
例如,MySQL服务器正在我的Ubuntu机器上运行。部分数据在过去24小时内发生了更改。
什么(Linux)脚本可以找到在过去24小时内被更改的文件?
请列出文件名称、文件大小和修改时间。
当前回答
查找某一特定目录及其子目录中在过去24小时内(最近一整天)被修改的所有文件:
find /directory_path -mtime -1 -ls
应该符合你的喜好
1之前的-很重要,它表示一天或更短时间前发生的任何变化。 在1之前的A +表示至少一天前发生了任何变化,而在1之前没有任何变化则意味着它是在一天前发生的变化,不多不少。
其他回答
对于将来登陆这里的其他人(包括我自己),添加一个name选项来查找特定的文件类型,例如:find /var name "*.php" -mtime -1 -ls
在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每次只列出一页结果。
这个命令对我很管用
find . -mtime -1 -print
你可以用
find . -mtime 0
从人类发现:
距离每个文件最后一次修改的时间除以24小时,剩余的时间将被丢弃。这意味着 如果匹配-mtime 0,则文件必须在过去24小时内进行过修改。
查找某一特定目录及其子目录中在过去24小时内(最近一整天)被修改的所有文件:
find /directory_path -mtime -1 -ls
应该符合你的喜好
1之前的-很重要,它表示一天或更短时间前发生的任何变化。 在1之前的A +表示至少一天前发生了任何变化,而在1之前没有任何变化则意味着它是在一天前发生的变化,不多不少。