“Impossibile rimuovere 'some_directory': Directory non vuota”


27

Ho provato a cancellare qualche directory, ma

$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty

Ma elencarne il contenuto non ne restituisce nessuno

$ ls DE.aspx_files
$

Aggiunto: in realtà

$ ls -la DE.aspx_files

total 4
drwx------ 1 ting ting 4096 Sep 14 20:48 .
drwx------ 1 ting ting    0 Sep 13 22:34 ..
-rw------- 1 ting ting    0 Sep 13 22:34 .fuse_hidden0001d4bf00000006

Quando provo a rm .fuse_hidden0001d4bf00000006farlo, viene eliminato, ma viene .fuse_hidden0001d4bf00000007creato un altro nuovo .

Quindi mi chiedo cosa sia successo e come risolvere questo problema?

Nota: è un HDD portatile esterno appena acquistato e copio alcuni file su di esso utilizzando un programma di recupero dati.

Sistema operativo: Ubuntu 12.04

Grazie!


3
Devi capire cosa sta montando un filesystem FUSE lì. Prova mount | fgrep fusea trovarlo e fusermount -u <mountpoint>a smontarlo prima di provare a eliminare la tua directory.
CodeGnome,

Come si elimina il file senza montarlo?
Stephen Boston,

Risposte:


16

File nascosti

Potresti avere file nascosti. Puoi trovarli con ls -laper assicurarti che stai bene eliminandoli davvero prima. Quindi è possibile eliminare i file prima di eseguirli rm -ro rmdirsecondo necessità.

Forzare l'eliminazione ricorsiva

Puoi anche semplicemente rm -rfforzare la cancellazione ricorsiva anche se la directory di destinazione contiene file. Si applicano tutti i consueti avvisi, ma eseguirà il lavoro indipendentemente da ciò che contiene la directory, purché si disponga delle autorizzazioni per eliminare i file e le directory, ovviamente.


1
inoltre, è possibile eseguire find DE.aspx_files -exec ls -la {} \;per identificare file nascosti o file denominati con caratteri speciali.
Tim Kennedy,

Grazie, ho identificato il file nascosto colpevole, che può essere eliminato ma viene generato un nuovo fratello. Si prega di vedere la mia parte aggiunta. La forzatura dell'eliminazione non funziona neanche, perché "Directory non vuota".
Tim

57

I file del modulo .fuse_hidden*vengono creati dai filesystem FUSE quando un file viene eliminato ma ancora in uso da qualche parte e deve avere ancora una voce di directory. Questo è simile ai .nfs*file nelle directory esportate su NFS .

Esegui df -T .per vedere il tipo di filesystem montato sulla directory corrente e il suo punto di montaggio. Per un disco rigido esterno, è probabile che si tratti di un file system NTFS montato tramite il driver NTFS-3G , basato su FUSE.

Il nome è un nome falso che il driver del filesystem inventa per un file eliminato. Non è possibile eliminare il file (o meglio, se si crea il file, ricompare con un altro nome). Non è nemmeno possibile eliminare la directory, poiché non è vuota. Dovrai trovare ciò che sta usando questo file. La causa più probabile di essere in uso è se è aperta da qualche applicazione. Esegui lsof /media/mount-pointdove si /media/mount-pointtrova il punto di montaggio del filesystem e cerca un file aperto in quella directory.


6
QUESTA risposta è quella che risolve effettivamente il problema
Martin Erhardt l'

Grazie, funziona Ho usato questa risposta e ho visto un sacco di cose che stavano usando le mie cartelle. Riavviato, quindi ha cercato di visualizzare nuovamente lo stesso elenco: era vuoto. E poi la cancellazione è avvenuta senza intoppi.
Sevastyan,

12

Per i dischi rigidi esterni questo problema potrebbe essere risolto da,

  • Fare clic con il tasto destro sulla cartella e selezionare Move to Trash
  • Svuota il cestino

Ha funzionato per me anche se rm -rfnon ha funzionato.


1
Sì, funziona. Perché?! Tuttavia, i file si trovano nel cestino e sono altrettanto problematici.
Stephen Boston,

-1

Se sul Mac, fai attenzione anche ai file * .localized, che possono diventare invisibili anche a 'ls -la', 'find' e al loro simile su un filesystem FUSE. [Questo è stato scoperto usando un filesystem FUSE creato da ConnectedData Transporter su un MacBook Pro.]


-1

Questo può accadere quando si esegue il seeding di un file anche in un client torrent. Assicurati di spegnere il client torrent o rimuovi il seeding torrent.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.