No se puede eliminar el directorio con un nombre extraño

No se puede eliminar el directorio con un nombre extraño

Mientras creaba una nueva carpeta, no me di cuenta de que en BASH ' es un carácter especial, lo que significa que terminé con una carpeta llamada

One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????

o para ser precisos

drwxrwxrwx    1 root     root             0 Mar  8 23:21 One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????

lo que está volviendo loco a mi terminal: al completar la pestaña no lo encuentra en absoluto. Si intento abrirlo a través de su inodo, aparece un error:

LibreELEC:/var/media/MYNAME/Films # rm -r "$(find -inum 187)"
rm: can't remove './One Flew Over the Cuckoos\ Nest\ \(1975\)
quit
quit()
ls': No such file or directory

¿Qué tanto me equivoqué?

Respuesta1

Resuelto. Lo hice eliminándolo a través de su inodo, como lo intenté en el OP, pero ahora usando la siguiente línea que omite el nombre del archivo por completo:

find . -inum 187 -delete

Para cualquiera que lea esto, 187 debería ser reemplazado por el inodo encontrado a través dels-li

Respuesta2

Puede utilizar la opción interactiva en rm. Enumerará cada archivo y le preguntará si desea eliminarlo. Por lo tanto, puede utilizar comodines solo en los bits que son de prueba simple:

rm -i *Flew*Cuckoo*Nest*

Eso no funciona para rmdir. Si el directorio está vacío, puede:

rm -ir *Flew*Cuckoo*Nest*

O simplemente puede cambiar el nombre del directorio a algo que pueda escribir, siempre que pueda hacer coincidir lo suficiente para que sea único:

mv *Flew*Cuckoo*Nest* BetterCuckooName

información relacionada