如果文件在UNIX Shell中存在一个小时以上,则查找并删除文件

时间:2020-01-09 14:16:27  来源:igfitidea点击:

问题描述:如何使用Shell脚本或命令找出文件的最后修改时间?
我如何删除/home/ftp/incoming/raw /目录中超过一小时的所有文件或对其采取任何其他自定义操作?

解决方法:有很多方法(命令)可以找出UNIX/Linux操作系统下的文件修改时间。
您可以尝试以下任一命令:

查找命令(带有-cmin开关)

$ find /home/ftp/incoming/raw/ -maxdepth 1 -cmin +60 -name FileName

-cmin选项将打印FileNames状态,该状态在n分钟前被更改。
该命令将打印所有文件名超过一小时的文件名。

stat命令(带有-c开关)

要查找自Epoch以来的最后更改时间(以秒为单位),请执行:

$ stat -c %Z /path/to/file

日期命令(带有-r开关)

要显示FILE的最后修改时间,请执行:

$ date -r /path/to/file

我建议使用find命令,因为它具有-exec选项,可以对所有匹配的文件执行操作,例如移动或删除文件:

$ find /home/ftp/incoming/raw/ -maxdepth 1 -cmin +60 -name "*" -exec /bin/rm -f {} \;