如果文件在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 {} \;