Saya memiliki direktori di dalamnya. Bagaimana cara saya menghapusnya.
~/.local/share/Trash/files$ ls devices/
reg-dummy
~/.local/share/Trash/files$ ls devices/reg-dummy/
subsystem
~/.local/share/Trash/files$ ls devices/reg-dummy/subsystem/
devices
Juga
~/.local/share/Trash/files$ find devices/ | head -n 20
devices/
devices/reg-dummy
devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
Juga, meskipun otak saya tidak dapat menyelesaikan masalah penghentian, tampaknya itu sudo rm -rf devices
berlangsung selamanya tanpa menghasilkan keluaran.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
Hal yang sama untuk perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. Hal yang sama untuk du -s devices/
. Hal yang sama untuk du -sch ~/.local/share/Trash/
perintah lainnya
$ cd ~/.local/share/Trash/files/devices/reg-dummy/subsystem/devices/
$ ls -ldi
8131921 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ cd reg-dummy/subsystem/devices/
$ ls -dli
8131926 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ find .local/share/Trash/files/ -maxdepth 1 -delete
find: cannot delete `.local/share/Trash/files/devices': Directory not empty
find: cannot delete `.local/share/Trash/files/': Directory not empty
Saya tidak ingin itu terjebak di tempat sampah saya selamanya!
Catatan: Saya membuat cadangan kasar komputer dengan hanya menggunakan scp
, dan tetapi saya kehabisan ruang dan kemudian ini terjadi.
filesystem
PyRulez
sumber
sumber
rm -rf devices
harus dilakukanls -dli devices
danls -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, bukandevice
. Saya mencoba melihat apakah ini benar-benar tautan keras (inode yang sama). Namun, perlu diketahui bahwa jika ini adalah direktori besar,rm -rf
akan memakan waktu lama tetapi pada akhirnya akan berfungsi. Jika masalah di sini adalah tautan melingkar, Anda akan mendapatkan pesan kesalahan tentang rekursi tak terbatas. Jika tidak ada pesan kesalahan, biarkanrm -rf
jalankan saja.Jawaban:
Output
ls -ldi
akan menampilkan nomor inode direktori. Jika direktori dalam direktori benar-benar memiliki nomor inode yang sama dengan leluhurnya, bukan hanya dengan nama yang sama, maka sistem file Anda rusak dan Anda harus boot ke mode penyelamatan dan fsck itu.sumber
Saya masih berpikir itu
rm -rf
akan berhasil jika Anda memberikan waktu yang cukup tetapi jika tidak, salah satu atau keduanya harus:Anda bisa memastikannya sesuatu sedang terjadi jika Anda menggunakan
rm -rfv ~/.local/share/Trash/files/devices
setidaknya yang akan memberi tahu Anda bahwa file sedang dihapus.Bagaimanapun, ini tidak bisa menjadi masalah hardlink (walaupun komentar saya sangat salah) karena direktori tidak dapat di-hardlink di Linux. Secara umum, ketika Anda memiliki rekursi tak terbatas, seperti yang dapat terjadi dengan softlink, Anda akan mendapatkan pesan untuk efek itu, yang tampaknya tidak terjadi.
Kemungkinan lain yang dapat saya pikirkan adalah bahwa folder Trash adalah beberapa sistem anehnya sendiri. Saya tidak benar-benar tahu cara kerjanya, saya tidak pernah menggunakannya. Namun, Anda mungkin lebih beruntung menghapus file tingkat atas secara langsung daripada menargetkan direktori yang bermasalah:
Anda juga harus mencoba mengosongkan folder Trash dari GUI, cukup pilih Trash dan klik "Empty Trash", lihat apakah itu berfungsi.
sumber
rm
akan menghasilkan output apa pun. Berapa lama mereka berlari? Saya juga memperbaruifind
perintah, yang sebelumnya salah, maaf. Lihatlah jawaban yang diperbarui. Akhirnya, kami bekerja buta di sini. Harap perbarui pertanyaan Anda dengan output darils -l
tempat Anda telah menggunakanls
, juga tunjukkan hasilnyadu -sch ~/.local/share/Trash/
agar kami tahu ukurannya.du -sch ~/.local/share/Trash/
yang akan memberi Anda ukuran. Dan tolong tambahkan semua hal yang diminta berbagai komentar, itu diperlukan agar kami dapat memahami apa yang terjadi.(Saya yakin ini akan berhasil dan karena saya akan melakukan perjalanan sekarang, saya akan meninggalkan ini sebagai jawaban yang dapat saya hapus di masa depan jika tidak berhasil.)
Pertama, agar aman, jalankan
Kedua, jika output "1" tidak menampilkan file penting, maka jalankan
Langkah terakhirnya adalah
sumber