使用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 模糊搜索文件名
如果这篇文章对你有所帮助,可以通过下边的“打赏”功能进行小额的打赏。
本网站部分内容来源于互联网,如有侵犯版权请来信告知,我们将立即处理。