linux如何删除某个时间之前的过期文件,在一个文件夹内部的
答案:4 悬赏:30 手机版
解决时间 2021-04-01 14:29
- 提问者网友:心如荒岛囚我终老
- 2021-03-31 14:06
linux如何删除某个时间之前的过期文件,在一个文件夹内部的
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-03-31 15:14
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找到的符合条件的文件执行删除操作
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找到的符合条件的文件执行删除操作
全部回答
- 1楼网友:洒脱疯子
- 2021-03-31 20:03
find /var –mtime 10 –exec ls –l {} \;
//mtime n 改变过状态,改名,改权限等;
*以上命令是查找10天前修改过的文件,并列出;
把ls -l 换成del
另创建文件肯定不是mtime,需要你自己找了。大体是这个形式
//mtime n 改变过状态,改名,改权限等;
*以上命令是查找10天前修改过的文件,并列出;
把ls -l 换成del
另创建文件肯定不是mtime,需要你自己找了。大体是这个形式
- 2楼网友:行雁书
- 2021-03-31 18:26
find命令可以按照创建时间、修改时间和访问时间查找文件并执行对应操作。
使用find命令,找到你需要的文件,在后面参数中用-delete可以删除。
例如:
find 搜索目录 -atime 天数 -delete
- 3楼网友:行路难
- 2021-03-31 16:48
首先cd进入目录:
find . -name "*~" -exec rm {} \;
find . -ctime +n -exec -exec rm -vi {} \;
这里的+n是指多少天以前,比如:+7
find . -ctime +7 -exec -exec rm -vi {} \;
如果不想手动确认,把命令中的-vi改成-fv
请详查find命令.
find . -name "*~" -exec rm {} \;
find . -ctime +n -exec -exec rm -vi {} \;
这里的+n是指多少天以前,比如:+7
find . -ctime +7 -exec -exec rm -vi {} \;
如果不想手动确认,把命令中的-vi改成-fv
请详查find命令.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯