linux删除日期文件
‘壹’ linux如何删除某个时间之前的过期文件,在一个文件夹内部的
find 命令可以完成这一需求,比如删除3天前的所有以“.log”结尾的文件:
find /文件路径 -name "*.log" -mtime +2 -exec rm {} ;
说明:
1. 文件路径是目标文件所在路径;
2. -name 设定目标文件名,建议采用,否则可能误删其他文件;
3. -ctime 文件最后一次修改时间,后面只能用整数,单位为天,同时,还有atime,mtime,amin,cmin,mmin等时间参数可选,具体请查看帮助;
4. 时间说明如下图(随手画的,大概是这个意思),所以删除三天前的文件要用+2
5. -exec 表示需要执行的命令,{}代表find找到的内容,";"是固定写法表示结束-exec,
所以例子的"-exec rm {} ;" 就表示对find找到的符合条件的文件执行删除操作
‘贰’ 在Linux中如何删除指定日期之前的一些文件
假如在一个目录中保留最近30天的文件,30天前的文件自动删除;
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} ;/tmp –设置查找的目录;
1、mtime +30 –设置时间为30天前;
2、type f –设置查找的类型为文件;
3、name *.sh[ab] –设置文件名称中包含sha或者shb;
4、exec rm -f –查找完毕后执行删除操作;
提示:将此命令写入crontab后即可自动完成查找并删除的工作。
另外的方法大同小异:#find /tmp -mtime +30 -type f | xargs rm -rf。
‘叁’ 在Linux中设置计划删除指定时间的文件
要删除系统中就的文件,就需要使用命令了:
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
假如在一个目录中保留最近30天的文件,30天前的文件自动删除
#find /tmp -mtime +30 -type f -name *.sh[ab] -exec rm -f {} \;
/tmp --设置查找的目录;
-mtime +30 --设置时间为30天前;
-type f --设置查找的类型为文件;
-name *.sh[ab] --设置文件名称中包含sha或者shb;
-exec rm -f --查找完毕后执行删除操作;
提示:将此命令写入crontab后即可自动完成查找并删除的工作
另外的方法大同小异
#find . -mtime +30 -type f | xargs rm -rf
‘肆’ Linux如何删除指定目录下的文件, 只保留最新时间的文件!
如果删除的目录名字为 test而且test下面包含文件夹的话你可以用 rm -rfv ./test/* 来删除这个文件夹一下的所有文件 -r 参数表示 递归 f表示强制即不询问。v表示显示出过程 * 表示所有
‘伍’ linux 如何按时间和文件类型删除文件
最好将下面的的命令,配合 man find
在一个测试目录里反复测试,再用于真实的文件中。因为删除操作要慎重。
配合查询:
find /path -atime -cmin -anewer (其他你试一下,基本是天,分钟,早于,迟于) -exec rm -rf {} \;
比如下面的示例表示删除/var/logs下面的文件3天以内修改过的文件,+3表示3天以前的。注意rm 和\前面有空格 ,如果删除文件夹,就是tpey -d
find /var/logs -type f -mtime -3 -exec rm {} \;
or
效果一样。
find /path -atime +1 -type f -print | xargs rm -rf
‘陆’ linux 怎么删除某一天的文件,比如今天是13号,我要怎么删除9号 文件
你可以写一个脚本文件,然后执行这个脚本文件就ok了
脚本内容如下:
1.找到9号的文件(具体日期)
2.删除
‘柒’ linux 定期删除文件夹下面超过30日的文件
find /tmp/sm{a,b,c} -type f -mtime 30 -exec rm {} \;
需要定期,就把这条命令放入crontab中即可。
‘捌’ Linux怎样删除以日期命名的文件夹及其文件
按月份删除的话就是:rm
-rf
201405*,代表删除以201405开头的文件夹
按年份的话就是:rm
-rf
2014*
,代表删除所有以2014开头的文件和文件夹
或者进入这个目录下,想删除所有文件和文件夹的话就是:rm
-rf
*