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