社区
Linux/Unix社区
帖子详情
如何用shell实现 删除创建时间超过指定时间的文件?
bluesky85
2010-08-03 10:07:16
请问下如何用shell实现删除指定创建时间的文件?
如,我想删除创建时间超过N小时的缓存文件,这个shell该如何写呢?谢谢!
...全文
671
7
打赏
收藏
如何用shell实现 删除创建时间超过指定时间的文件?
请问下如何用shell实现删除指定创建时间的文件? 如,我想删除创建时间超过N小时的缓存文件,这个shell该如何写呢?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
s030702614
2010-08-11
打赏
举报
回复
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
与文件相关的几个时间:
1、访问时间,读一次这个文件的内容,这个时间就会更新。比如对这个文件使用more命令。ls、stat命令都不会修改文件的访问时间。
2、修改时间,对文件内容修改一次,这个时间就会更新。比如:vi后保存文件。ls -l列出的时间就是这个时间。
3、状态改变时间。通过chmod命令更改一次文件属性,这个时间就会更新。查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名。
如果编程实现,可以用time函数加以判断就可以了
定时任务可以用crontab,具体可见:http://blog.csdn.net/s030702614/archive/2010/01/14/5188441.aspx
gdh7201
2010-08-11
打赏
举报
回复
thanks!
masmaster
2010-08-03
打赏
举报
回复
版主对linuxsir很熟悉吗
steptodream
2010-08-03
打赏
举报
回复
然后用find命令把这些文件找出来 删除
请参照http://www.linuxsir.org/main/?q=node/137
注意上面网址里的那些命令里{}之间看上去有空格 其实是没有的 你在使用的时候别加空格
steptodream
2010-08-03
打赏
举报
回复
在Linux中,没有文件创建时间的概念。只有文件的访问时间、修改时间、状态改变时间。也就是说不能知道文件的创建时间。
1.但如果文件创建后就没有修改过,修改时间=创建时间;
2.如果文件创建后,状态就没有改变过,那么状态改变时间=创建时间;
3.如果文件创建后,没有被读取过,那么访问时间=创建时间,这个基本不太可能。
你先确认 你是属于哪种情况!
steptodream
2010-08-03
打赏
举报
回复
[Quote=引用 4 楼 bluesky85 的回复:]
自己顶起,呵呵
我要在此基础上实现定时删除的话,应该如何实现呢?
[/Quote]
把你的删除命令 写到一个脚本里
然后添加到crontab计划任务 比如每天12点执行一次 就行了啊
http://blog.csdn.net/sipsir/archive/2009/03/08/3973713.aspx
bluesky85
2010-08-03
打赏
举报
回复
自己顶起,呵呵
我要在此基础上实现定时删除的话,应该如何实现呢?
Linux系统编程第06期:从零
实现
一个
shell
解释器
在Linux环境下,
shell
是一个位于操作系统和用户应用程序之间的工具,我们在
shell
终端下敲入命令并运行,或者直接运行一个脚本
文件
,这背后都是
shell
在帮助我们解析命令并
创建
一个个子进程去执行。为了更深一层去探寻...
shell
定时
删除
创建
日期大于某个
时间
的
文件
可以使用 find 命令来
删除
创建
日期大于某个
时间
的
文件
。 例如,要
删除
创建
日期大于1个月的
文件
,可以使用如下命令: find /path/to/dir -mtime +30 -delete 要将此命令定时运行,可以使用 cron 服务。首先,编辑 ...
shell
删除
创建
时间
超过
指定
时间
的
文件
n小时
创建
把-mtime +7 改为-cmin n -amin n 查找系统中最后N分钟访问的
文件
-atime n 查找系统中最后n*24小时访问的
文件
-cmin n 查找系统中最后N分钟被改变状态的
文件
-ctime n 查找系统中最后n*...
shell
定时
删除
某
文件
夹下
创建
日期大于某个
时间
的
文件
您可以使用 find 命令来
实现
这一目的。例如,要
删除
某
文件
夹下
创建
日期大于 30 天的
文件
,可以使用以下命令: find /path/to/folder -type f -ctime +30 -delete
使用
shell
脚本
删除
指定
后缀
文件
接下来,我们就简单了解一下用
shell
脚本执行
删除
命令。 一、生成unix可执行
文件
提示: 执行
删除
操作之前,我们先
创建
一个可执行
文件
。 1、新建一个无后缀格式的
文件
,比如
文件
名叫 clear_meta。 2、打开终端,cd...
Linux/Unix社区
18,771
社区成员
11,461
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 专题技术讨论区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章