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

说明:

  1. 该句脚本分2部分
    find /home/allenle/public_html/images/*/pictures -not -regex '/.*\.\(jpg\|png\|bmp\|jpeg\|gif\)' -type f

    xargs rm -rf
  2. find找到符合条件的文件。以下是参数说明 -not 做反选 。
    -regex 后跟文件正则表达式,符合从根目录开始返回(/home/allenle/***)。
    -type f 查找普通文件(不会返回文件夹)
  3. 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中

也许你还会喜欢

Leave a Reply

Additional comments powered by BackType