linux如何删除某个时间之前的过期文件,在一个文件夹内部的

我想删除一个文件夹内超过一定时间或者是在某个时间之前创建的文件,请问有这个命令没有,先谢过!本人linux还没入门。。。... 我想删除一个文件夹内超过一定时间或者是在某个时间之前创建的文件,请问有这个命令没有,先谢过!本人linux还没入门。。。 展开
 我来答
mjwgs
推荐于2017-09-04 · TA获得超过281个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:118万
展开全部

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找到的符合条件的文件执行删除操作

人在井天
推荐于2017-09-21 · TA获得超过4167个赞
知道大有可为答主
回答量:4234
采纳率:0%
帮助的人:4160万
展开全部
首先cd进入目录:

find . -name "*~" -exec rm {} \;

find . -ctime +n -exec -exec rm -vi {} \;

这里的+n是指多少天以前,比如:+7

find . -ctime +7 -exec -exec rm -vi {} \;

如果不想手动确认,把命令中的-vi改成-fv

请详查find命令.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hemoparrot
2015-06-17 · TA获得超过326个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:121万
展开全部
  1. find命令可以按照创建时间、修改时间和访问时间查找文件并执行对应操作。

  2. 使用find命令,找到你需要的文件,在后面参数中用-delete可以删除。

  3. 例如:

    find 搜索目录 -atime 天数 -delete

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-06-22
展开全部
find /var –mtime 10 –exec ls –l {} \;

//mtime n 改变过状态,改名,改权限等;
*以上命令是查找10天前修改过的文件,并列出;

把ls -l 换成del

另创建文件肯定不是mtime,需要你自己找了。大体是这个形式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式