
Creé un archivo llamado \;:$"\'
para probar un software mío. Terminé con un error porque no puedo eliminar la propiedad del archivo. Estoy tratando de encontrar una combinación de caracteres precisa para eliminarlo rm
, pero no encuentro la manera.
rm \\;:$\"\\\'
rm: cannot remove `\\': No such file or directory
rm "\\"\;:$\"\\\'
rm: cannot remove `\\;:$"\\\'': No such file or directory
rm '\;:$"\'''
rm: cannot remove `\\;:$"\\': No such file or directory
(Este último intento me mató)
Y muchos muchos otros intentos. ¡Se necesita mano amiga!
Respuesta1
Si el nombre del archivo es exactamente \;:$"\'
, entonces debería poder eliminarlo con:
rm \\\;\:\$\"\\\'
Simplemente escapa de todos los personajes con un solo \
.
Respuesta2
Puede intentar ls -li
en el directorio que contiene el archivo y eliminar el archivo con el inodo devuelto emitiendofind . -inum <inode-number> -exec rm -i {} \;
Agregué el -i
comando de búsqueda para avisar antes de eliminarlo en caso de que el comando de búsqueda encuentre otro archivo del esperado.
Además del comentario, intenté crear y eliminar el archivo yo mismo:
ls -l
total 0
-rw-r--r-- 1 test test 0 mrt 24 14:11 \;:$"\'
[test@testhost +1] /tmp/ff$ rm \\\;\:\$\"\\\'
[test@testhost +1] /tmp/ff$ ls -l
total 0
Respuesta3
Puede utilizar comillas simples y luego sólo tendrá que preocuparse por citar las comillas simples.
rm '\;:$"\'\'
En uso interactivo, puede simplemente usar la función de tabulación, comenzando con '\
o \\
. Completar tabulación desde '\
rendimientos '\;:$"\'\'''
, ya que bash simplemente reemplaza cada comilla simple incrustada con '\''
. Finalización de pestañas desde nada o desde \\
rendimientos \\\;\:\$\"\\\'
.
Respuesta4
Si no está limitado a usar bash u otro entorno de script de shell, una manera fácil de eliminar dicho archivo probablemente sería escribir un programa corto que simplemente llame unlink()
en su idioma favorito o usar un administrador de archivos como Gnome Commander o Midnight. Commander para eliminar el archivo manualmente. La última opción le permitiría seleccionar el archivo en cuestión y eliminarlo sin tener que ingresar el nombre del archivo en ningún lugar, lo que eliminaría la posibilidad de que los metacaracteres tengan algún significado especial.