歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux問題解決

linux批量刪除文件與空文件刪除命令

linux下面刪除文件或者目錄命令rm(remove)

功能說明:刪除文件或目錄。

語 法:rm [-dfirv][--help][--version][文件或目錄...]
補充說明:執行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數"-r",否則預設僅會刪除文件。
參 數:
-d或--directory 直接把欲刪除的目錄的硬連接數據刪成0,刪除該目錄。
-f或--force 強制刪除文件或目錄。
-i或--interactive 刪除既有文件或目錄之前先詢問用戶。
-r或-R或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或--verbose 顯示指令執行過程。
--help 在線幫助。


Linux下批量刪除空文件(大小等於0的文件)的方法

代碼如下

find . -name "*" -type f -size 0c | xargs -n 1 rm -f

 

用這個還可以刪除指定大小的文件,只要修改對應的 -size 參數就行,例如:

代碼如下

find . -name "*" -type f -size 1024c | xargs -n 1 rm -f

 

就是刪除1k大小的文件。(但注意 不要用 -size 1k,這個得到的是占用空間1k,不是文件大小1k的)。

如果只要刪除文件夾或者名字連接等,可以相應的改 -type 參數,具體細節見 man find

刪除N天前文件

LINUX按時間批量刪除文件(刪除N天前文件)


代碼如下

find /opt/Oracle/admin/CCXE/bdump/ -mtime +10 -name "*.*" -exec rm -Rf {} ;

 

/opt/Oracle/admin/CCXE/bdump/ :想要進行清理的任意目錄

-mtime:標准語句寫法
+10:查找10天前的文件,這裡用數字代表天數,+30表示查找30天前的文件

"*.*":希望查找的數據類型,"*.jpg"表示查找擴展名為jpg的所有文件,"*"表示查找所有文件
-exec:固定寫法

rm -rf:強制刪除文件,包括目錄
{} ; :固定寫法,一對大括號+空格+/+;

徹底刪除文件

有些時候我們要徹底刪除一些文件,可以使用shred命令來實現,shred是coreutils的一部分,所以Linux中基本都會有這個命令。

shred徹底刪除文件的方法:

代碼如下

$ shred -u file

 

shred會用一些隨機內容覆蓋文件所在的節點和數據塊,並刪除文件(-u參數)。

如果想清除的更徹底一點可以加-z 參數,意思是先用隨機數據填充,最後再用0填充。

代碼如下

$ shred -u -z file

 

另外shred還可以清除整個分區或磁盤,比如想徹底清除/dev/sdb1分區的內容可以這樣:

$ shred /dev/sdb1 (注意不要加-u參數)

shred的詳細參數:

-f, --force 更改權限允許寫入(如有必要)

-n, --iterations=N 重寫N次,默認為3次

--random-source=FILE 從指定文件讀取數據

-s, --size=N 將文件粉碎為固定大小 (可使用後綴如K、M、C等)

-u, --remove 重寫後截短並移除文件

-v, --verbose 顯示進度

-z, --zero - add 用0覆蓋數據

–help 顯示幫助

–version 顯示版本信息

Copyright © Linux教程網 All Rights Reserved