我有一个名为的目录,/home/mydir/test
一个文件将从位于此目录中的其他团队发送。如何查找文件到达此特定目录的时间? (我也需要时间戳格式的时间和正常的 hh:mm:ss 格式)我必须将文件移动到此处超过 5 小时的目录。如何获取这些文件?
答案1
您可以使用stat -c %w filename
,它将以人类可读的方式提供出生日期,并-C
以 unix 时间戳提供。
并非每个文件系统都支持出生时间;在这些情况下,使用stat -c %z
,即上次更改的时间。
答案2
不带选项的 stat 允许您查看所有时间戳(出生、访问、修改、更改)
答案3
对于问题的最后部分:用于find
查找所有早于 5 * 60 分钟的文件(-cmin
以分钟为单位测试更改时间,+300
意味着超过 300);{}
替换为文件名:
find in_dir -cmin +300 -type f -exec mv {} out_dir \;
更新:添加-type f
不将 in_dir 本身移动到 out_dir。