linux 查找删除不包含指定文件的其他文件命令

在linux中查找除指定文件其他全部文件然后删除,如何删除 除某个文件其他所有文件的命令?

下面介绍一下使用grep方式查找指定文件的其他所有文件:

 find ` ls |grep -v "2013_12_16" `

上面命令的find后面的·反引号是键盘上数字1左边的键,

命令的意思是找到当前文件夹下除了2013_12_16开头的所有其他文件

如何是删除指定文件的其他文件就使用下面命令

rm ` ls |grep -v "2013_12_16" `

 

如果需要完全匹配在2013_12_16前面加上^,后面加上$表示结束符的意思,如下面命令

find ` ls |grep -v  "^2013_12_16$" ` 

还有一种方法删除一个月以前(30天以前)的log文件使用如下命令:

find /var/www/html/logs/  -mtime +31 -name "*_log"; 

rm /var/www/html/logs/  -mtime +31 -name "*_log";

查找10天以前的log文件然后删除:

find /var/www/html2/logs/  -mtime +11 -name "*_log" -exec rm {} \;

参数说明:-mtime是modify time 被修改的时间

还有-atime 是access time 是文件被读取或执行的时间

还有-ctime 是change time 文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

来源:网络//作者:admin/更新时间:2013-12-17
相关文章
评论:
验证码:
匿名评论: