Linux命令列批量刪除檔案(目錄)

2022-06-28 13:27:08 字數 1331 閱讀 4549

快速-批量刪除檔案或目錄

1-1.快速刪除大資料夾(注意目錄後的結束符『/』)(對於含有海量檔案的目錄,不能直接rm -rf刪除,這樣效率很慢:)

rsync -a --delete blank/ test/              使用空資料夾 blank/ 覆蓋原資料夾 test/ 

mkdir empty_dir && rsync -a --delete empty_dir/ your_dir/ && rm -rfyour_dir/ empty_dir#得把your_dir/再刪除一下,因為裡邊的./檔案很大 

1-2.查詢並刪除檔案

find ./ -type f -name "*.log" -mmin +120 -delete 刪除當前目錄下120min前的所有.log結尾檔案

find ./ -type f -name "*.log"

-mtime +300-delete 

刪除當前目錄下300天前的所有.log結尾檔案

這種方式要比下邊語句快2-3倍,並且當目錄中檔案非常多時不會出現列表過長無法刪除的異常。

find ./ -name "*.log" -mmin +120 | xargs rm -f

find ./ -name "*.log" -mmin +120 -exec rm {} -f # -exec 表示後面執行命令 "{}"  -f表示不需要確認 <=>

find ./ -name "*.log" -mmin +120 

-exec rm -f "{}" \; #最後的分號不可少

1-3.

delete.sh:

for i in `ls -d path/shell/shell_pipe/step*qsub`   # ls列出匹配上的目錄  必須用-d 否則ls會把目錄下的檔案也都列出來

dorm -r $i

done

for i in `ls path/*log`

dorm $i

done

eg:快速刪除目標檔案中自己的qsub目錄中的執行oe檔案。

參考:[0]  

[1]    

Linux命令列刪除檔案恢復

在linux下工作的很多人都有過這樣的尷尬經歷,辛辛苦苦寫了很久的 或者文件,乙個不小心就rm掉了,命令列刪除一般不會進入 站,這時候是不是想死的心都有了。先說說活生生的悲劇是怎麼發生的。先是認認真真寫了乙個下午指令碼setup.sh,在corev1.1中有乙個舊版本但是同名的setup.sh,於是...

svn 命令列 批量刪除和批量新增

如果使用svn的命令列,例如在linux下的終端中使用,svn的新增命令是svn add,刪除命令是svn del,但是缺乏批量的操作,如果我在資源管理器中,手動新增了好多個資料夾下的各種各樣的檔案,然後我想一次性add,svn就力不從心了,即使使用svn add 也會因為新添檔案的父目錄已經被新增...

Linux命令列刪除檔案恢復(Ubuntu)

在linux系統下,通過命令 rm rf 可以將任何資料直接從硬碟刪除,並且沒有任何提示,同時linux下也沒有與windows下 站類似的功能,也就意味著,資料在刪除後通過常 規的手段是無法恢復的,因此使用這個命令要非常慎重。在使用rm命令的時候,比較穩妥的方法是把命令引數放到後面,這樣有乙個提醒...