通常,要在 Linux 終端刪除一個文件,我們使用 rm 命令(刪除文件)、shred 命令(安全刪除文件)、wipe 命令(安全擦除文件)或者 secure-deletion 工具包(一個安全文件刪除工具集合)。
我們可以使用上述任意的工具來處理相對較小的文件。如果我們想要刪除超大的文件/文件夾,比如大概 100-200GB,在刪除文件(I/O 調(diào)度)所花費(fèi)的時間以及 RAM 占用量方面,就沒有你想的那么簡單。 在本教程中,我們會解釋如何在 Linux 中有效率并可靠地刪除大文件/文件夾。 建議閱讀: 5 個在 Linux 中清空或者刪除大文件的方法 我們的主要目標(biāo)是使用一種不會在刪除大文件時拖慢系統(tǒng)的技術(shù),合理地占用 I/O。我們可以用 ionice 命令實(shí)現(xiàn)這個目標(biāo)。 在 Linux 中使用 ionice 命令刪除超大(200GB)文件 ionice 是一個可以對另一個程序設(shè)置或獲取 I/O 調(diào)度級別和優(yōu)先級的有用程序。如果沒有給出參數(shù)或者只有 -p 參數(shù),那么 ionice 將會查詢該進(jìn)程的當(dāng)前的 I/O 調(diào)度級別以及優(yōu)先級。 如果我們給出命令名稱,如 rm 命令,它將使用給定的參數(shù)運(yùn)行此命令。要獲取或設(shè)置調(diào)度參數(shù),請指定[進(jìn)程的 PID],如下: # ionice -p PID 要指定名字或者調(diào)度的數(shù)字,使用(0 表示無、1 表示實(shí)時、2 表示盡力、3 表示空閑)下面的命令。 以下命令表示 rm 會屬于空閑 I/O 級別,并且只在其他進(jìn)程不使用的時候使用 I/O: ---- Deleting Huge Files in Linux ----- # ionice -c 3 rm /var/logs/syslog # ionice -c 3 rm -rf /var/log/apache 如果系統(tǒng)中沒有很多空閑時間,那么我們希望使用盡力調(diào)度級別,并且使用低優(yōu)先級: # ionice -c 2 -n 6 rm /var/logs/syslog # ionice -c 2 -n 6 rm -rf /var/log/apache 注意:要使用安全的方法刪除大文件,我們可以使用先前提到的 shred、wipe 以及 secure-deletion 工具包中的不同工具,而不是 rm 命令。 要獲取更多信息,查閱 ionice 的手冊頁: # man ionice 就是這樣了!你腦海里還有其他的方法么?在評論欄中與我們分享。