Linux用shell删除三天前或三天内的文件

列出三天内或三天前的文件

  • find $DIR -mmin -10 -ls:查找目录下最近10分钟内被修改过的文件
  • find $DIR -mtime -1 -ls:查找目录下最近1天内被修改过的文件
  • find $DIR -cmin +10 -ls:查找目录下最近10分钟前创建的文件
  • find $DIR -ctime -1 -ls:查找目录下最近1天内创建的文件

上面命令中,mtime或者mmin中的“m”表示“modify”的意思,ctime或者cmin中的“m”表示“create”的意思。
数字-n表示n天内或者n分钟内,+n表示n天前或者n分钟之前。

删除n天前被修改的文件:
find $DIR -mtime +n -type f -exec rm { } \;

基本思路是,find找到相应的文件,然后执行删除指令。
-type f:指定查找的为文件,而非文件夹或文件链接等

find命令还可以对文件做一下过滤,比如:
find $DIR -mtime +n -type f -name '*.txt' -exec rm { } \;

注意:{ }两边要加空格,否则会报find: missing argument to '-exec'

------ 本文完 ------