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