一个删除文件夹下所有文件的shell脚本,不删除最外层的文件夹

最近,由于工作需要,写了一个删除文件夹下所有文件的shell脚本,代码比较丑陋,但是可用,哈哈。centos7下亲测可用。该脚本只删除父文件夹下的所有文件和子文件夹,但不删除父文件夹本身。

这个shell脚本文件名是:clearFile.sh。内容是:

#! /bin/bash
function clearFile(){  
      if [`$1 -eq 'logs'` -o `$1 -eq 'log'`]; then
        echo "clearFile can be called"
        for file in `ls $1`  
                do   
                        if [ -d $1"/"$file  ];   then
                                echo "deleting directory: " $1"/"$file
                                rm -rf $1"/"$file 
                        else
                                echo "deleting file: " $1"/"$file
                                rm -rf $1"/"$file 
                        fi 
                done  
     else
      echo "clearFile cannot be called!!!, the dir name is: "$1
     fi
}  
  
runPath=$(cd `dirname $0`;pwd)
echo "the script is located in directory :" $runPath
clearFile  $1  
将该shell脚本复制到centos中指定目录之后,使用如下命令赋予可执行权限:

chmod 777 clearFile.sh
然后就可以愉快使用了,假如要删除logs目录下的所有日志文件。执行如下命令即可:

./clearFile.sh logs
不过,为了安全起见,该脚本允许清空内容的文件夹名字只能是logs或者log,也即只对如下两个调用生效。有需要的可以自己稍作修改。
./clearFile.sh logs   或者  ./clearFile.sh log






  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值