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。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)