Cómo eliminar un archivo con este nombre en Linux: -] ??????? q [duplicar]


14

De alguna manera, un archivo llamado -]???????qse creó en mi terminal. Intenté rm -f "-] ??????? q" (entre comillas dobles), pero no se eliminó. (Error ::) rm: invalid option -- ]. ¿Cómo lo elimino?


Tuve un problema similar, en mi caso el problema fue con la implementación de samba, solo intente ssh al servidor y luego elimínelo
Buksy 05 de

Respuestas:


26

Por ejemplo, con:

rm -- '-]???????q'

Donde --significa: "detener las opciones de análisis".


De hecho, me encontré con un problema similar sin siquiera pensar en ser un interruptor. Juro que pasé como 2 horas tratando de resolverlo.
Jeff F.

Muchas aplicaciones usan --, supongo que es una especie de estándar de facto debido a la getoptfunción.
cYrus

13

Puede usar el nombre del archivo con rm o el número de inodo con find like:

rm -- -]???????q
# or
  -> ls -i                                                                                                                         
47984689 blah.ui  47983771 __init__.py  
47983773 testpy.e4p  47985161 Ui_blah.py

  -> find -inum 47983773                                                                                                           
./testpy.e4p

  -> find -maxdepth 1 -inum 47983773 -exec rm -i '{}' \;
#or
  -> find -maxdepth 1 -inum 47983773 -delete

Agregue -maxdepth 1, de lo contrario, find iterará en todos los subdirectorios:find -maxdepth 1 -inum 47983773 -delete
Fabian Ritzmann

@FabianRitzmann buena llamada, lo agregué.
OneOfOne

1
Esta debería ser la respuesta elegida. Acceder al archivo con caracteres no válidos en su nombre por su iNode es la única forma correcta.
ScumCoder

1
rm ./"-]???????q"

Las comillas dobles evitan que el shell expanda las marcas de interrogación. Por ejemplo, si tuviera otro archivo llamado -] foobar.q :

$ touch ./"-]???????q" ./-]foobar.q
$ echo ./-]???????q
./-]foobar.q ./-]???????q

Oh. Puse las citas, pero me faltaba el./
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.