SafeChildren Banner

Havoc Oracle Solaris Experts

lunes, 29 de marzo de 2010

Eliminar archivos con caracteres especiales, más formas

Introducción
En post anteriores hemos visto Cómo eliminar archivos utilizando su inode para poder eliminar archivos con caracteres especiales. Sin embargo, existen otras formas de poder utilizar los comandos rm sin tener que hacer malabares con ellos.

Si nuestro archivo contiene como primer carácter <-> entonces, rm lo entenderá como argumento y no como nombre -esto es debido al uso de getopt()-, pero tenemos una opción para ello, utilizar el fin de opciones <--> y los comandos no evaluarán el resto como opciones sino como argumentos -en BSD fin de argumentos se crea con <-.>-. Por lo tanto, la sintaxis será la siguiente:
$ comando -opciones -- argumentos
Veamos un ejemplo con un archivo con nombre <-r>
# ls -ltr
total 16
-rw-r--r--   1 root     root          70 mar 23 11:44 -r
# rm *
sintaxis: rm [-fiRr] archivo ...
# rm -- -r
# ls -l
total 0
 También podemos utilizar ./nombre para proceder a eliminar el archivo, por ejemplo,
# ls -ltr
total 16
-rw-r--r--   1 root     root          30 mar 23 12:08 -rF
# rm ./-rF
# ls
total 0
Referencias

No hay comentarios:

Publicar un comentario