Linux下如何快速刪除海量文件


日常運維中,某些服務器幾十萬的文件需要刪除,該如果快速刪除?

rm

[sys@sys-test-lv-101 ~]$ cd test
[sys@sys-test-lv-101 test]$ for i in $(seq 1 500000).log;do echo "this is test">>${i}.log;done
[sys@sys-test-lv-101 test]$ time rm -f *.log
-bash: /bin/rm: Argument list too long

find + delete

[sys@sys-test-lv-101 ~]$ cd test
[sys@sys-test-lv-101 test]$ for i in $(seq 1 500000).log;do echo "this is test">>${i}.log;done
[sys@sys-test-lv-101 ~]$ time find test/ -type f -delete

real    0m25.030s
user    0m0.515s
sys 0m13.969s

rsync + delete

[sys@sys-test-lv-101 ~]$ cd test/
[sys@sys-test-lv-101 test]$ for i in $(seq 1 500000).log;do echo "this is test">>${i}.log;done
[sys@sys-test-lv-101 ~]$ time rsync --delete-before -a empty/ test/

real    0m15.497s
user    0m1.175

從測試結果可以看出rsync效率最高


免責聲明!

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



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