Copie todos los archivos de un directorio remoto

Abdullah Bukhari 15 febrero 2024
  1. el comando scp
  2. Copiar archivos en Bash
Copie todos los archivos de un directorio remoto

Este artículo explica métodos para copiar archivos entre diferentes hosts en una red. Además, explora el comando scp y cómo se usa para copiar archivos desde una ubicación remota.

el comando scp

El protocolo de copia segura (SCP) es un protocolo de red que copia de forma segura y facilita la copia fluida de archivos y carpetas entre sistemas operativos compatibles con Unix.

El comando scp es una variante mucho más segura del comando cp. Cifra las contraseñas y los archivos durante la copia remota a través de una conexión de shell seguro (SSH), protegiendo así la comunicación de los ataques de rastreo.

Para obtener más información sobre scp, utilice el siguiente comando.

man scp

Las páginas de manual (forma abreviada de Manual Pages) son una utilidad de Unix que muestra información sobre llamadas al sistema, llamadas a bibliotecas, estándares y convenciones formales, e incluso conceptos abstractos. Como las páginas del manual se descargan junto con el kernel, no requieren conexión a Internet.

Copiar archivos en Bash

Hay varias formas de copiar archivos en Bash, cp, cat, vim (cualquier editor de texto) y scp son solo algunas de las muchas formas en que podemos hacerlo. El siguiente código explora formas de copiar archivos en Bash.

1) cp <source file>.txt <destination file>.txt
2) cat 0<source_file.txt 1>destination_file.txt
3) cat <source_file.txt >destination_file.txt

Copiar archivos en Bash

El primer método copia el contenido del archivo de origen y luego lo pega en el archivo de destino. Es importante tener en cuenta que cp pegará el contenido en el archivo de destino incluso si no existe.

Hace esto porque el núcleo creará automáticamente el archivo de destino.

El segundo método utiliza conceptos que habría estudiado en su curso de Sistemas Operativos. Recuerde el ppfdt (tabla de descriptores de archivos de proceso), el descriptor de archivos 0 apunta al teclado (stdin), el descriptor de archivos 1 apunta al monitor (stdout), y el descriptor de archivos 2 apunta al monitor (stderror).

Este segundo método anula el descriptor 0 para apuntar al archivo fuente. También anula el stdout para apuntar al archivo de destino.

El método tres es similar al segundo método, excepto que en este método, el descriptor 3 apunta al archivo de origen, mientras que el descriptor 4 apunta al archivo de destino.

En ambos métodos 2 y 3, la lectura se realiza desde el archivo de origen y la escritura se realiza en el archivo de destino. De nuevo, es esencial tener en cuenta que el núcleo pegará el contenido en el archivo de destino incluso si no existe.

Esto se debe a que el kernel creará automáticamente el archivo de destino.

Copie archivos de forma segura en Bash en ubicaciones remotas

La sintaxis general para el comando scp se encuentra a continuación.

scp [option] [user_name@source_host:path/to/source/file] [user_name@target_host:destination/path]

Si no proporcionamos ningún nombre de usuario, el scp usa el usuario actual como predeterminado. Si excluye la ruta de destino, el comando scp considera copiar desde el origen a la ruta local actual.

De manera similar, omitir la ruta de origen hará que el comando scp utilice la ruta local actual como fuente para copiar los archivos.

En la opción, si especifica -r, copia recursivamente todos los archivos y subdirectorios. Entonces, si desea copiar archivos, no especifique ninguna opción. Copiará los archivos pero excluirá los subdirectorios.

El beneficio de scp sobre otros comandos es que es mucho más seguro ya que encripta los archivos.