Mengapa saya tidak bisa menghapus folder?

14
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

Saya mencoba menghapus folder-folder ini dari terminal dengan:

rm -r
tepheno
sumber
2
Jika output kesalahan itu dari nautilus, Anda dapat menambahkan tangkapan layar ke pertanyaan Anda. Juga, apa output rm -rdari terminal? Sudahkah Anda mencoba dengan jawaban dari posting ini ?
Lucio
1
gunakan rm -rfsebagai gantinya
nickanor
Saya telah digunakan rm -Rfuntuk menghapus direktori rekursif, mungkin ini berfungsi untuk Anda. Huruf besar R berarti Rekursif, lihat halaman manualman rm
revnoise
1
Apakah Anda memiliki izin untuk menghapus direktori ini? Silakan jalankan ls -ladan tempel di sini untuk membuang opsi ini.
revnoise
Folder itu saya kira dihapus dulu di windows lalu coba dihapus di Ubuntu. Kemudian mencoba untuk menghapus pada Windows tetapi mengatakan kesalahan. Directory not empty tapi itu semua janji kosong. Pada windows dikatakan errorError x00000
tepheno

Jawaban:

10

Apakah kamu sudah mencoba sudo rm -r? File apa saja yang ada? Anda juga dapat menghapus semua file terlebih dahulu kemudian menghapus folder. Ini pekerjaan ekstra, tetapi kadang-kadang layak untuk menyelesaikan pekerjaan.

sudo adalah untuk tindakan superuser.

wlraider70
sumber
Saya tahu sudo dan folder tidak memiliki file di dalam hanya sub folder. Folder Artis lalu Folder Album tanpa MP3 di dalamnya. Hanya folder.
tepheno
itu berhasil Bung ...
Angelin Nadar
9

Saya punya masalah dengan folder pada sistem file btrfs. Mengecek mount point dan lsof adalah hal yang normal untuk dicari. Dalam kasus saya itu adalah korupsi yang disebabkan oleh bug lama, sejak diperbaiki:

Hal-hal normal untuk diperiksa:

  • lsof + D <path> - ini akan l i s t semua o pen f iles. Anda tidak dapat menghapus folder yang berisi file terbuka, meskipun itu biasanya juga memberikan kesalahan yang sedikit berbeda: "Perangkat atau sumber daya sibuk". Perhatikan bahwa jika Anda meninggalkan "+ D <path>", lsof akan menampilkan daftar untuk semua folder di semua sistem file - yang akan membuang waktu. ;)
  • mount : Ini akan menunjukkan kepada Anda filesystem yang saat ini di-mount. Anda tidak dapat menghapus mountpoint yang dipasang secara aktif atau folder induknya.
  • sub daftar btrfs <path> : Mirip dengan titik mount, Anda tidak dapat menghapus subvolume btrf kecuali dengan menggunakan perintah spesifik btrf : subtrume btrf hapus <path> .

Solusi Korupsi

Dalam kasus korupsi di mana itu tidak dapat dengan mudah diperbaiki, solusi dasarnya adalah membuat cadangan, memformat sistem file, dan kemudian mengembalikan (meninggalkan data yang buruk). Bergantung pada seberapa banyak data yang Anda miliki di sistem file, ini bisa menjadi tugas. : - /

Dalam kasus saya folder masalah ada di dalam subvolume jadi saya bisa melakukan hal di atas tetapi dengan hanya menghapus subvolume daripada seluruh sistem file. Saya mencadangkan data saya dan menghapus subvolume: btrfs sub del <subvolume-path> . Saya kemudian dapat mengembalikan ke subvolume baru, meninggalkan folder masalah.

Korupsi i_size

Penyebab dalam kasus saya ditemukan korupsi i_size , di mana itu bukan nol. Btrfs menggunakan i_size untuk mengetahui apakah folder tersebut kosong atau tidak. Untuk memeriksanya, jalankan:

stat -c %s <foldername>

Ukuran i_si folder kosong di btrfs harus nol. Dalam ext biasanya 4k.

Tautan yang berhubungan:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory

zTricky
sumber
6

Coba cdke dalam direktori, kemudian menghapus semua file menggunakan rm -rf *. Kemudian coba keluar dari direktori dan gunakan rmdiruntuk menghapus direktori.

jkd
sumber
Ini berfungsi dengan baik untuk saya +1 Terima kasih
kawan
Saya mencoba ini, dan mendapat pesan kesalahan: "Daftar argumen terlalu panjang"
Rafael_Espericueta
1

Mencoba sudo rm -rf [Folder name]

Jika masih menampilkan Direktori tidak kosong itu berarti direktori sedang digunakan. coba tutup atau periksa program mana yang menggunakannya lalu gunakan kembali perintah.

Bekerja untuk saya ketika saya mencoba untuk menghapus proyek Unity dan digunakan oleh hub unity. cukup tutup hub persatuan dan menulis ulang perintah bekerja dengan baik.

Molham Mohamed
sumber
0

Buka folder tepat sebelum yang Anda ingin hapus dan jalankan perintah ini untuk mengubah nama pengguna dengan nama folder Anda: rm -rf foldername

R berarti rekursif, dan f berarti kekuatan.

Ramon Suarez
sumber
rm: cannot remove Wan Pisu - New World': Directory not empty
tepheno
Apakah Anda menggunakan -rf?
Ramon Suarez
-rfSaya pikir saya menggunakan rm -r -f -vPak.
tepheno
Saya baru saja melakukan tes dengan nama direktori yang sama dan itu berhasil untuk saya, juga menggunakan cara Anda memisahkan rf v. Apakah Anda yakin Anda menggunakan rmdan tidak rmdir? Apakah verbose (-v) memberi Anda petunjuk? Juga, apakah ada file 0 byte dalam direktori Anda? "rm -r -f -v Wan \ Pisu \ - \ New \ World / dihapus 'Wan Pisu - Dunia Baru / test.test' direktori dihapus: 'Wan Pisu - Dunia Baru'"
Ramon Suarez
tidak, itu hanya folder. Juga ketika saya menghapusnya di Windows tidak Error; 0x-----dapat menghapus juga. -vsedang menjelaskan apa yang sedang dilakukan yang saya tahurm --help
tepheno
0

Mencoba: rmdir --ignore-fail-on-non-empty *directory*

Jamie
sumber
ini tidak melakukan apa-apa.
jam tidur
0

Jika Anda tidak memiliki set izin menulis, Anda tidak dapat menghapus direktori.

Sebagai contoh di bawah, meskipun saya adalah pemilik direktori, saya tidak dapat menghapusnya. Setelah saya menambahkan izin menulis dengan chmod- semuanya berhasil.

DIR:/xieerqi
skolodya@ubuntu:$ ls -dl TESTDIR/                                              
dr-xr-xr-x 2 xieerqi xieerqi 4096 Jan 24 16:06 TESTDIR//

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              
rm: cannot remove ‘TESTDIR/one & two’: Permission denied
rm: cannot remove ‘TESTDIR/tom&jerry’: Permission denied
rm: cannot remove ‘TESTDIR/jekyl&hide’: Permission denied
rm: cannot remove ‘TESTDIR/pdfReader.sh’: Permission denied

DIR:/xieerqi
skolodya@ubuntu:$ chmod +w TESTDIR/                                            

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              

DIR:/xieerqi
skolodya@ubuntu:$ echo $?
0
Sergiy Kolodyazhnyy
sumber
0

Saya memiliki folder di Windows yang di-mount ke mesin virtual VirtualBox (VM) Ubuntu. Saya tidak bisa menghapusnya dari manajer file Windows, atau dari dalam VM menggunakan rmdiratau rm -Rf *.

TLDR : Saya akhirnya bisa menghapusnya di Git Bash (di Windows, tentu saja), menggunakan rm -Rf *.

Ketika saya mencoba untuk menghapus dalam file manager Windows, dikatakan bahwa saya memerlukan hak Administrator untuk menghapus folder. Tetapi, bahkan sebagai Admin, itu masih gagal.

Dari dalam Ubuntu VM (di mana saya tidak pernah memiliki masalah menghapus file yang dibagikan sebelumnya), saya mendapatkan kesalahan cannot remove protocol error, serta beberapa yang lain.

Akhirnya, di Git Bash di Windows, saya bisa menghapus folder. Saya menduga bahwa Git Bash memiliki semacam kunci pada folder. Di Git Bash, direktori kerja saya adalah salah satu yang saya coba hapus. Saya mundur dan menghapusnya rm -Rftanpa kesalahan.

Butkus Buttle
sumber