GNU/Linux >> Belajar Linux >  >> Linux

traversal gagal:u:Pesan buruk saat menghapus direktori yang sangat besar di Linux

Oke, saya akhirnya menyelesaikan masalah. Itu karena kesalahan sistem file yang menyebabkan ls untuk ditampilkan secara salah, dan utilitas lain tidak berfungsi.
Maaf judul pertanyaannya menyesatkan (padahal memang ada banyak file di dalam u/ , direktorinya tidak terlalu besar ).

Saya memecahkan masalah dengan menggunakan usb langsung karena sistem file yang rusak adalah / . Perbaikannya hanya dengan menerapkan sudo fsck -cfk /dev/sda2 di mana dev/sda2 adalah disk yang rusak.


Anda tidak dapat menghapus file dalam jumlah besar menggunakan rm . Anda juga bisa melakukannya

find u/ -type f -print0 | xargs -r -0 rm -f

ini hanya akan menghapus file; untuk menghapus semuanya, gunakan

find u/ -print0 | xargs -r -0 rm -rf

Anda mungkin dapat menggunakan --delete pilihan find , jika sistem Anda memilikinya:

find u/ -type f --delete

atau metode funky dengan rsync :

mkdir emptyfolder
rsync -r --delete emptyfolder/ u/

rsync jauh lebih cepat daripada rm saat menghapus sesuatu karena akan melewati beberapa pemeriksaan.


Anda dapat mencoba find /u -type f | while read f; do rm -f $f; done Ini akan memakan waktu cukup lama tetapi mungkin berhasil. Untuk beberapa alasan, loop di bash bekerja dengan baik ketika pendekatan lain gagal.


Linux
  1. Membuat, Menghapus, dan Mengelola Direktori di Linux

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

  3. Pesan gagal SOAP Saat Membuat Domain

  1. Cara memeriksa upaya login yang gagal atau buruk di Linux

  2. Cara Mengidentifikasi Pengguna yang Menghapus File Dari Direktori yang Diberikan di Linux

  3. Perintah Pindah Direktori Linux

  1. Direktori JAVA_HOME di Linux

  2. Penanda Direktori di Linux

  3. Bagaimana cara menjalankan skrip secara otomatis ketika konten direktori berubah di Linux?