Tengo un directorio dentro de sí mismo. ¿Cómo lo elimino?
~/.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
también
~/.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
Además, aunque mi cerebro no puede resolver el problema de detención, parece que sudo rm -rf devices
continúa para siempre sin producir resultados.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
Lo mismo para perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. Lo mismo para du -s devices/
. Lo mismo para du -sch ~/.local/share/Trash/
otros comandos
$ 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
¡No quiero que se quede en mi basura para siempre!
Nota: Estaba haciendo una copia de seguridad cruda de una computadora simplemente usando scp
, pero me quedé sin espacio y luego sucedió esto.
filesystem
PyRulez
fuente
fuente
rm -rf devices
hacer?ls -dli devices
andls -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, nodevice
. Estoy tratando de ver si estos son realmente enlaces duros (el mismo inodo). Sin embargo, tenga en cuenta que si se trata de un directorio grande,rm -rf
llevará mucho tiempo pero eventualmente funcionará. Si el problema aquí son los enlaces circulares, recibirá un mensaje de error sobre la recursión infinita. Si no hay un mensaje de error, simplemente deje querm -rf
siga su curso.Respuestas:
La salida de
ls -ldi
mostrará el número de inodo del directorio. Si el directorio dentro del directorio realmente tiene el mismo número de inodo que su antecesor, en lugar de solo el mismo nombre, entonces su sistema de archivos está dañado y tendrá que arrancar en modo de rescate y fsck.fuente
Todavía creo que
rm -rf
funcionará si le das suficiente tiempo, pero si no, uno o ambos deberían:Puede asegurarse de que algo está sucediendo si usa
rm -rfv ~/.local/share/Trash/files/devices
al menos eso le permitirá saber que los archivos se están eliminando.De todos modos, esto no puede ser un problema de enlace rígido (a pesar de mi comentario muy equivocado) porque los directorios no pueden vincularse en Linux. En general, cuando tiene una recursión infinita, como puede suceder con los enlaces suaves, recibirá un mensaje al respecto, que no parece suceder.
La otra posibilidad que se me ocurre es que la carpeta Papelera es un sistema extraño propio. Realmente no sé cómo funciona, nunca lo uso. Sin embargo, es posible que tenga más suerte eliminando los archivos de nivel superior directamente en lugar de apuntar al directorio problemático:
También debe intentar vaciar la carpeta Papelera de la GUI, simplemente seleccione Papelera y haga clic en "Vaciar Papelera", vea si eso funciona.
fuente
rm
producirán ningún resultado. ¿Cuánto tiempo corrieron? También actualicé elfind
comando, el anterior estaba equivocado, lo siento. Echa un vistazo a la respuesta actualizada. Finalmente, estamos trabajando ciegos aquí. Actualice su pregunta con el resultado dels -l
dónde ha utilizadols
, también muestre el resultadodu -sch ~/.local/share/Trash/
para que sepamos el tamaño.du -sch ~/.local/share/Trash/
eso le dará el tamaño. Y agregue todas las cosas que los diversos comentarios han pedido, son necesarias para que podamos entender lo que está sucediendo.(Estoy seguro de que esto funcionará y como voy a viajar ahora, lo dejaré como una respuesta que puedo eliminar en el futuro si no funciona).
Primero, para estar seguro, corre
En segundo lugar, si el resultado de "1" no muestra ningún archivo importante, ejecute
El paso final sería
fuente