Traté de eliminar algún directorio, pero
$ rm DE.aspx_files -r
rm: cannot remove `DE.aspx_files': Directory not empty
Pero enumerar su contenido no devuelve ninguno
$ ls DE.aspx_files
$
Agregado: en realidad
$ 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
Cuando lo intento rm .fuse_hidden0001d4bf00000006
, se elimina, pero se .fuse_hidden0001d4bf00000007
crea otro nuevo .
Entonces, me pregunto qué pasó y cómo solucionar este problema.
Nota: es una unidad de disco duro portátil externa recién comprada, y solo copie algunos archivos con un programa de recuperación de datos.
SO: Ubuntu 12.04
¡Gracias!
mount | fgrep fuse
encontrarlo yfusermount -u <mountpoint>
desmontarlo antes de intentar eliminar su directorio.Respuestas:
Archivos ocultos
Es posible que tenga archivos ocultos. Puede encontrarlos
ls -la
para asegurarse de que está bien si realmente los elimina primero. Luego puede eliminar los archivos antes de ejecutarlosrm -r
ormdir
según sea necesario.Forzar la eliminación recursiva
También puede hacerlo
rm -rf
para forzar la eliminación recursiva incluso si el directorio de destino contiene archivos. Se aplican todas las advertencias habituales, pero hará el trabajo independientemente de lo que contenga su directorio, siempre que tenga permisos para eliminar los archivos y directorios, por supuesto.fuente
find DE.aspx_files -exec ls -la {} \;
para identificar archivos ocultos, o archivos nombrados con caracteres especiales.Los archivos del formulario
.fuse_hidden*
son creados por los sistemas de archivos FUSE cuando se elimina un archivo pero todavía está en uso en algún lugar y aún debe tener una entrada de directorio. Esto es similar a los.nfs*
archivos en directorios exportados a través de NFS .Ejecute
df -T .
para ver el tipo de sistema de archivos que está montado en el directorio actual y su punto de montaje. Para un disco duro externo, lo más probable es que este sea un sistema de archivos NTFS montado a través del controlador NTFS-3G , que se basa en FUSE.El nombre es un nombre falso que el controlador del sistema de archivos inventa para un archivo eliminado. No puede eliminar el archivo (o más bien, si crea el archivo, vuelve a aparecer con otro nombre). Tampoco puede eliminar el directorio, ya que no está vacío. Tendrá que encontrar qué está usando este archivo. La causa más probable de estar en uso es si alguna aplicación la abre. Ejecute
lsof /media/mount-point
dónde/media/mount-point
está el punto de montaje del sistema de archivos y busque un archivo abierto en ese directorio.fuente
Para discos duros externos, este problema podría resolverse mediante,
Move to Trash
Funcionó para mí, incluso si
rm -rf
no funcionó.fuente
Si está en la Mac, tenga en cuenta también los archivos * .localized, que pueden volverse invisibles incluso para 'ls -la', 'find' y sus gustos en un sistema de archivos FUSE. [Esto se descubrió utilizando un sistema de archivos FUSE creado por ConnectedData Transporter en una MacBook Pro.]
fuente
Esto puede suceder cuando también está sembrando un archivo en un cliente torrent. Solo asegúrese de apagar el cliente de torrent o elimine el torrent inicial.
fuente