linux中用什么命令可以查询出多少天之前修改过的文件呢?

linux中用什么命令可以查询出多少天之前修改过的文件呢?,第1张

可以用ls -l命令:

ls -l|grep [DATE]

其中[DATE]为你想要找的那天,格式见ls -l的输出。

比如想找/tmp下修改时间为2007年8月15日的文件,如下 *** 作:

ls -l /tmp

输出为:

drwx------ 2 youran youran 4096 2007-08-27 11:54 virtual-youran.1w2lZh

drwx------ 2 youran youran 4096 2007-08-27 23:22 virtual-youran.HdRfdr

drwx------ 2 youran youran 4096 2007-08-17 14:45 virtual-youran.JYuHxo

drwx------ 2 youran youran 4096 2007-08-26 10:52 virtual-youran.kDJHWC

drwx------ 2 youran youran 4096 2007-08-15 21:02 virtual-youran.KVpFVO

drwx------ 2 youran youran 4096 2007-08-28 09:51 virtual-youran.VL7WSV

drwxrwxrwt 2 root root4096 2007-08-15 18:17 VMwareDnD

drwx------ 2 root root4096 2007-08-15 18:21 vmware-root

prw------- 1 root root 0 2007-08-15 18:22 vmware-root.1

drwx------ 2 youran youran 4096 2007-08-28 11:47 vmware-youran

prw------- 1 youran youran 0 2007-08-15 18:21 vmware-youran.1

可以看出ls -l日期的显示方式是YYYY-MM-DD,所以就可以这样写:

ls -l|grep 2007-08-15

输出为:

virtual-youran.KVpFVO

drwxrwxrwt 2 root root4096 2007-08-15 18:17 VMwareDnD

drwx------ 2 root root4096 2007-08-15 18:21 vmware-root

prw------- 1 root root 0 2007-08-15 18:22 vmware-root.1

prw------- 1 youran youran 0 2007-08-15 18:21 vmware-youran.1

就把2007年8月15日的所有文件列出来了。

假如在一个目录中保留最近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。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8903388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存