Tutoriales

Cómo copiar archivos a varios directorios en Linux

En la gestión de archivos de Linux, la flexibilidad es clave. Cuando se trata de una sola copia de un archivo requerido en varios destinos de directorio, no queremos perder demasiado tiempo reinventando la ruta del directorio de destino hasta que todas las rutas del directorio de destino tengan la copia esperada del archivo.

Para operaciones estándar de copia de archivos/directorios, utilice el comando cp de Linux.

Este tutorial nos guía a través de varios métodos basados ​​en Linux para copiar un solo archivo en varias ubicaciones de directorio en Linux.

planteamiento del problema

Para que este tutorial sea interesante, crearemos un archivo aleatorio y algunos directorios aleatorios a los que se enviarán copias del archivo creado.

$ touch to_be_copied.txt

En cuanto a los directorios aleatorios, crearemos tres directorios aleatorios (Directorio 1, Directorio 2y catálogo 3) en tres lugares diferentes.

$ mkdir dir1 /home/dnyce/Downloads/dir2 /home/dnyce/Documents/dir3 
Crear directorio aleatorio en Linux

Ahora podemos comenzar a trabajar en formas de copiar un solo archivo en estos tres directorios sobre la marcha.

1. Use el bucle de shell y el comando cp

Considere la siguiente implementación de bucle de shell para copiar el único archivo que creamos en tres directorios.

$ for i in /home/dnyce/dir1 /home/dnyce/Downloads/dir2 /home/dnyce/Documents/dir3; do cp to_be_copied.txt ${i}/; done 

Asegúrese de especificar la ruta absoluta al directorio de destino.

En el bucle de shell anterior, los tres directorios se asignan a variables i Antes do Ejecute la declaración para copiar nuestros archivos a estos tres directorios.

Confirme que los archivos se han copiado en los tres directorios.

$ ls -l dir1
$ ls -l /home/dnyce/Downloads/dir2
$ ls -l /home/dnyce/Documents/dir3
Copie archivos a varios directorios en Linux
Copie archivos a varios directorios en Linux

2. Usa los comandos find y cp

De forma predeterminada, el comando de búsqueda de Linux es eficaz para consultar la probabilidad de que exista un archivo en una jerarquía de directorios.

podemos lograr Buscar y c.p. Comando de la siguiente manera:

$ find /home/dnyce/dir1 /home/dnyce/Downloads/dir2 /home/dnyce/Documents/dir3 -maxdepth 0 -type d -exec cp to_be_copied.txt {} \;

Se sobrescribirán todos los archivos existentes con nombres similares en el directorio de destino.

  • – profundidad máxima se establece en así que esto Buscar El comando no expande su búsqueda a los subdirectorios existentes, si los hay.
  • -Tipo d Especifica que estamos tratando con un directorio.
  • -implementar implementar c.p. El comando copia nuestros archivos al directorio buscado y encontrado.

3. Uso de los comandos echo, xargs y cp

Este xargs El comando hará referencia a la salida estándar antes de construir y ejecutar la línea de comando asociada. En cuanto al comando echo, lo usaremos para identificar la ubicación del directorio donde se enviará nuestra única copia del archivo.

La implementación de los tres comandos anteriores es la siguiente:

$ echo /home/dnyce/dir1 /home/dnyce/Downloads/dir2 /home/dnyce/Documents/dir3 | xargs -n 1 cp to_be_copied.txt

Este eco Los comandos se canalizan a xargs Comandos que toman una ruta de directorio como argumento y agregan uno por uno (-n 1).

4. Usa el comando tee

básicamente, servir orden Tome la entrada lógicamente válida de la entrada estándar y escriba el resultado en un archivo y/o salida estándar. En nuestro caso se implementa de la siguiente manera:

$ tee /home/dnyce/dir1/to_be_copied.txt /home/dnyce/Downloads/dir2/to_be_copied.txt /home/dnyce/Documents/dir3/to_be_copied.txt < to_be_copied.txt

Como habrá notado, hemos especificado el nombre del archivo que se copiará en el directorio de destino, porque tee El comando no toma un nombre de directorio como argumento.

¿Conoce otras formas geniales de copiar archivos a varios directorios en Linux? No dudes en dejar un comentario o feedback.

LEER  Cómo grabar correctamente juegos de PS2 en DVD »Wiki Ùtil DVD-R y DVD de doble capa

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba