Answers:
使用find
仍然是删除文件的首选方法。有关更多信息,请参见http://mywiki.wooledge.org/UsingFind。
一种方法是创建一个带有时间戳的文件。例如
touch -t 201311220000 /tmp/timestamp
现在,删除与find
时间戳匹配的文件GNU (假定在当前目录中),例如:
find . -type f ! -newer /tmp/timestamp -delete
还是非GNU查找
find . -type f ! -newer /tmp/timestamp -exec rm {} \;
type -f
限制为仅文件。
find /path/to/directory/ -mtime +<number of days> -name '<file name>' -exec rm -rf {} \;
例:
find /Netap_fileshare_backup/SQL/DB_backups/xeo/ -mtime +15 -name 'ORA_XEO*' -exec rm -rf {} \;
在这种情况下,它将删除所有以“ ORA_XEO”开头超过15天的文件。
rm -rf
,但是第一个命令将删除所有早于15天的目录中包含的所有内容。(还有,为什么要加上括号-name
?)
example.jar
-将被移除example.cp
-将被移除 example.tar
-将不会被移除
find /path/to/directory/ -mtime +<number of days> \( -name '*.jar' -o -name '*.cp' \) -name 'ex*' -exec rm -rf {} \;
find
您应该使用-daystart
修饰符将-mtime
值强制为午夜。