Linux 删除带有特殊字符的文件

首先 做好备份, 脚本语句在测试环境下 测试一遍。。

通过文件的inode号删除文件

先用ls -i 找出要删除文件的inode 号

   ls -i |grep xxxxxx|awk '{print $2}'|xargs -i rm -f {}

    xxxxxx为文件的 inode 号

通过文件大小删除文件

 1.删除当前目录以及所有子目录下的文件大小为零的文件

    find ./ -size 0 -exec rm {} \;

 2.删除当前目录下文件大小为零的文件(子目录不删除)

find ./ -maxdepth 1 -empty -type f -print -delete          #-maxdepth 指定目录层级 

#/bin/bash
for filename in `ls`
do
    if test -d $filename
    then continue
    else    
       a=$(ls -l $filename | awk '{ print $5 }')
            if test $a -eq 0
             then
                rm $filename
             fi
        fi      
done

 

将文件夹下所有文件都移动到新建的某个目录下,然后将需要的文件移出来,最后强制删除新建的文件

 

Linux 使用 rm删除文件的时候都会提示是否要删除    而且 `rm 文件夹 `  不加参数-rf文件夹是 删除不了的 

我们可以通过  rm ./* 来一个个判断是否删除    ‘yes’ or ‘no’       (比较冒险  不推荐)

posted @ 2016-07-28 15:57  贺呵呵  阅读(13267)  评论(1编辑  收藏  举报