GNU/Linux >> Belajar Linux >  >> Linux

Linux – Hapus Direktori Besar yang Berisi Ribuan File Secara Efisien?

Kami memiliki masalah dengan folder yang menjadi berat dengan ratusan ribu file kecil.

Ada begitu banyak file yang melakukan rm -rf mengembalikan kesalahan dan sebagai gantinya yang perlu kita lakukan adalah sesuatu seperti:

find /path/to/folder -name "filenamestart*" -type f -exec rm -f {} ;

Ini berfungsi tetapi sangat lambat dan terus-menerus gagal karena kehabisan memori.

Apakah ada cara yang lebih baik untuk melakukan ini? Idealnya saya ingin menghapus seluruh direktori tanpa mempedulikan isi di dalamnya.

Jawaban yang Diterima:

Menggunakan rsync sangat cepat dan sederhana.

mkdir empty_dir
rsync -a --delete empty_dir/    yourdirectory/

Jawaban @sarath menyebutkan pilihan cepat lainnya:Perl! Tolok ukurnya lebih cepat daripada rsync -a --delete .

cd yourdirectory
perl -e 'for(<*>){((stat)[9]<(unlink))}'

Sumber:

  1. https://stackoverflow.com/questions/1795370/unix-fast-remove-directory-for-cleaning-up-daily-builds
  2. http://www.slashroot.in/which-is-the-fastest-method-to-delete-files-in-linux

Linux
  1. 5 Contoh Praktis Untuk Menghapus / Menghapus Direktori di Linux

  2. Jumlah maksimum file/direktori di Linux?

  3. rsync N file terbaru dalam direktori

  1. Linux Hapus File dan Direktori

  2. Menghitung file secara rekursif dalam direktori Linux

  3. rsync tidak akan menghapus file di tujuan

  1. Contoh Praktis Perintah rsync di Linux

  2. Linux setara dengan robocopy?

  3. folder gabungan linux:rsync?