删除除link(软连接)对应的文件以外的所有文件
时间:2018-06-27 09:08:21 +0800 CST 浏览:1327

使用find和readlink删除除link(软连接)对应的文件以外的所有文件,一般用于自动删除日志文件。

脚本

#!/bin/bash

linkArr=`find $1 -type l -exec readlink {} \;`
fileArr=`find $1 -type f -name "*${2}*"`

for f in $fileArr;do
  isLink=false
  for l in $linkArr;do
    #判断当前文件是否为link对应的文件
    if [ "${f##*/}" == "$l" ];then
      isLink=true
      break
    fi
  done
  if [ $isLink == false ];then
    rm -f $f
  fi
done

说明

功能

删除除link对应的文件以外的所有文件

参数

$1 第一个位置参数为需要扫描的目录

$2 模糊搜索文件名



如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。

本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。


来说两句吧