Unix/Linux 删除某类型文件
日期:2009-10-25 | 作者: Allen在cPanel下想要完成一个功能:定时删除某些文件夹下的不是图片类型的文件。定时功能cPanel有cron可以使用,剩下的就是要写一个删除文件的脚本。
第一次写Unix/Linux脚本,欢迎拍砖。
find /home/allenle/public_html/images/*/pictures -not -regex '/.*\.\(jpg\|png\|bmp\|jpeg\|gif\)' -type f | xargs rm –rf
说明:
- 该句脚本分2部分
find /home/allenle/public_html/images/*/pictures -not -regex '/.*\.\(jpg\|png\|bmp\|jpeg\|gif\)' -type f
和
xargs rm -rf
- find找到符合条件的文件。以下是参数说明 -not 做反选 。
-regex 后跟文件正则表达式,符合从根目录开始返回(/home/allenle/***)。
-type f 查找普通文件(不会返回文件夹) - xargs rm –rf
将find查到的文件列表传递给rm命令(删除)。参数说明
-rf 强制的递归删除(慎用)
后记,调试命令是用SSH登录到allenle.com上做的,用SSH来远程维护服务器很是方便。Windows 上有没有相关的解决方法呢?我们熟知的Windows PowerShell 1.0没有远程管理的功能,幸好在2.0版本中将增加远程管理的功能,现在有CTP版可以使用。

↑ Windows PowerShell 1.0 和 Windows PowerShell 1.0 GUI 在 Windows 7中