linux系統(tǒng)中批量刪除文件與空文件刪除的命令
linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell命令和Linux命令。接下來(lái)是小編為大家收集的linux系統(tǒng)中批量刪除文件與空文件刪除的命令,希望能幫到大家。
linux系統(tǒng)中批量刪除文件與空文件刪除的命令
linux下面刪除文件或者目錄命令rm(remove)
功能說(shuō)明:刪除文件或目錄。
語(yǔ) 法:rm [-dfirv][--help][--version][文件或目錄...]
補(bǔ)充說(shuō)明:執(zhí)行rm指令可刪除文件或目錄,如欲刪除目錄必須加上參數(shù)"-r",否則預(yù)設(shè)僅會(huì)刪除文件。
參 數(shù):
-d或--directory 直接把欲刪除的目錄的硬連接數(shù)據(jù)刪成0,刪除該目錄。
-f或--force 強(qiáng)制刪除文件或目錄。
-i或--interactive 刪除既有文件或目錄之前先詢問(wèn)用戶。
-r或-R或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
-v或--verbose 顯示指令執(zhí)行過(guò)程。
--help 在線幫助。
Linux下批量刪除空文件(大小等于0的文件)的方法
代碼如下
find . -name "*" -type f -size 0c | xargs -n 1 rm -f
用這個(gè)還可以刪除指定大小的文件,只要修改對(duì)應(yīng)的 -size 參數(shù)就行,例如:
代碼如下
find . -name "*" -type f -size 1024c | xargs -n 1 rm -f
就是刪除1k大小的文件。(但注意 不要用 -size 1k,這個(gè)得到的是占用空間1k,不是文件大小1k的)。
如果只要?jiǎng)h除文件夾或者名字連接等,可以相應(yīng)的改 -type 參數(shù),具體細(xì)節(jié)見(jiàn) man find
刪除N天前文件
LINUX按時(shí)間批量刪除文件(刪除N天前文件)
代碼如下
find /opt/Oracle/admin/CCXE/bdump/ -mtime +10 -name "*.*" -exec rm -Rf {} ;
/opt/Oracle/admin/CCXE/bdump/ :想要進(jìn)行清理的任意目錄
-mtime:標(biāo)準(zhǔn)語(yǔ)句寫(xiě)法
+10:查找10天前的文件,這里用數(shù)字代表天數(shù),+30表示查找30天前的文件
"*.*":希望查找的數(shù)據(jù)類型,"*.jpg"表示查找擴(kuò)展名為jpg的所有文件,"*"表示查找所有文件
-exec:固定寫(xiě)法
rm -rf:強(qiáng)制刪除文件,包括目錄
{} ; :固定寫(xiě)法,一對(duì)大括號(hào)+空格+/+;
徹底刪除文件
有些時(shí)候我們要徹底刪除一些文件,可以使用shred命令來(lái)實(shí)現(xiàn),shred是coreutils的一部分,所以Linux中基本都會(huì)有這個(gè)命令。
shred徹底刪除文件的方法:
代碼如下
$ shred -u file
shred會(huì)用一些隨機(jī)內(nèi)容覆蓋文件所在的節(jié)點(diǎn)和數(shù)據(jù)塊,并刪除文件(-u參數(shù))。
如果想清除的更徹底一點(diǎn)可以加-z 參數(shù),意思是先用隨機(jī)數(shù)據(jù)填充,最后再用0填充。
代碼如下
$ shred -u -z file
另外shred還可以清除整個(gè)分區(qū)或磁盤,比如想徹底清除/dev/sdb1分區(qū)的內(nèi)容可以這樣:
$ shred /dev/sdb1 (注意不要加-u參數(shù))
shred的詳細(xì)參數(shù):
-f, --force 更改權(quán)限允許寫(xiě)入(如有必要)
-n, --iterations=N 重寫(xiě)N次,默認(rèn)為3次
--random-source=FILE 從指定文件讀取數(shù)據(jù)
-s, --size=N 將文件粉碎為固定大小 (可使用后綴如K、M、C等)
-u, --remove 重寫(xiě)后截短并移除文件
-v, --verbose 顯示進(jìn)度
-z, --zero - add 用0覆蓋數(shù)據(jù)
–help 顯示幫助
–version 顯示版本信息
‘
看了“linux系統(tǒng)中批量刪除文件與空文件刪除的命令”還想看: