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’       (比較冒險  不推薦)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM