Mover archivos que comienza con guión


En los sistemas operativos Unix o Linux, ¿cómo muevo los archivos que comienzan con un guion?, por ejemplo, /home/you/--filename.txt o /home/you/-filename.txt  y entonces ¿Cómo copio un archivo cuyo nombre comienza con guion?

Muchos meta-caracteres, como punto y coma, espacios, barras invertidas, signos de dólar, signos de interrogación y asteriscos son caracteres que los sistemas operativos Linux y Unix los interpretan como comandos de shell. Por ejemplo, - o - (guion o guion) interpretado como una opción pasada al comando. Pruebe las siguientes sugerencias para mover (mv) o copiar (cp) estos archivos.

Mover archivo comenzando con un guion

La sintaxis es la siguiente:
cp -- source dest
cp [option] -- source dest
Usamos " -- " para hacer que el comando de Linux y Unix deje de analizar las opciones de línea de comandos del shell. Ahora, veamos algunos ejemplos.

Crear un archivo de prueba

Escriba el siguiente comando:
cd /tmp/
> '-foo.txt'
> '--bar.txt'
Lista de archivos que comienzan con un guion
Intenta enumerarlos, escribe:
ls -l *.txt
Obtendrá un error de la siguiente manera:
ls: opción no reconocida '--bar.txt'
Pruebe  `ls --help' para obtener más información.
Para delimitar -- el uso de la lista de opciones, es decir, escriba el siguiente comando ls:
ls -l -- *.txt

Los comandos cp y mv

Cuando un archivo cuyo nombre comience con - o -- , copie o mueva archivos usando la siguiente sintaxis:
cp -- '--bar.txt' /path/to/dest
cp -- '-test.doc' /home/vivek/backups/test.doc
O
cp -v -- '--bar.txt' /path/to/dest
Para mover archivos:
mv -- '--bar.txt' /path/to/dest
O
mv -v -- '--bar.txt' /path/to/dest

Unix y Linux copian el archivo comenzando con un guion

Las opciones - o -- consideradas como parte de la línea de comando. Por lo tanto, no puede copiar, listar, eliminar o mover ningún archivo que comience con esos caracteres. En resumen, la sintaxis es la siguiente:
cp options -- '--filename' /dest
mv options -- '--filename' /dest
El -- delimitar la lista de opciones. Los argumentos posteriores, si los hay, se tratan como operandos incluso si comienzan con - o —. Esto se aplica a todos los comandos de Linux / Unix / macOS / * BSD tales como rm, cp, mv, ls, ln, etc.
command -- 'file'
command [options] -- 'file'
rm -- '--filename'
rm -fr -- '-dirname'
rmdir -- '--dirname'
Cómo usar el comando de búsqueda para el mismo propósito
La sintaxis es:
find /dir/to/search -maxdepth 1 -name '--filename' -delete
Consejo: Manejar un nombre de archivo comenzando con un guion ( - )
Puede "ocultar" el guion del comando iniciando el nombre de archivo con ./ (barra de puntos). Por ejemplo, intente eliminar un archivo llamado " -filename.txt " usando el comando rm:
> '-filename'
rm -filename # will get an error #
rm ./-filename

Conclusión

Esta página explica cómo manejar un nombre de archivo de Linux o Unix comenzando con un guion ( - ). El truco es comenzar el nombre de archivo con ./ o pasar el -- antes del nombre de archivo.



No hay comentarios:

Publicar un comentario

Cómo verificar los puertos abiertos en Linux

Para solucionar problemas del servidor y evitar problemas de seguridad, uno necesita encontrar puertos TCP y UDP abiertos. En este tut...

Infolinks