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就会被修改。
顶
踩
相关文章: