logo

Comando cp en Linux/Unix | Copiar archivo de Linux

'cp' significa copia. El comando 'cp' se utiliza para copiar un archivo o un directorio.

Introducción al comando cp

El comando cp se utiliza para copiar directorios y archivos. El comando contiene tres modos de operación principales, representados por los tipos de argumentos que se muestran al programa para copiar un archivo a otros archivos, varios archivos a cualquier directorio o copiar directorios completos a otros directorios.

Además, la utilidad acepta varias opciones de línea de comandos para detallar las operaciones implementadas. Las dos especificaciones principales son GNU cp y POSIX cp. GNU cp contiene varias opciones adicionales en la versión POSIX. Además, el comando está disponible dentro del shell EFI.

Modos de funcionamiento del comando cp

El comando cp contiene tres modos operativos principales. Estos modos se completan a partir del recuento y tipo de argumentos que se muestran al programa bajo invocación.

  • El programa puede copiar el contenido del primer archivo al segundo archivo, haciendo que el segundo archivo sea esencial cuando el programa contiene dos argumentos de nombre de ruta a los archivos.
  • El programa puede copiar todos los archivos fuente al directorio deseado, haciendo que cualquier archivo que aún no esté disponible cuando el programa contenga uno o más argumentos de nombre de ruta de archivos y buscándolos como argumento de ruta a un directorio.
  • El comando cp puede copiar cada archivo dentro del directorio de origen al directorio deseado, haciendo que cualquier directorio o archivo sea necesario cuando los argumentos del programa son los nombres de ruta de dos directorios. Este modo de operación necesita un indicador de opción adicional para representar la copia del directorio recursivo. El origen se copiará en el destino, mientras que se crea un directorio nuevo si el destino no existe si el directorio de destino ya está disponible.

Opciones del comando cp

Opción Descripción
--archivo, -a Es equivalente a -dR --preserve=all.
--solo atributos No copia los datos del archivo, solo los atributos.
-b Es como una copia de seguridad pero no acepta ningún argumento.
--copia de seguridad[=CONTROL] Realiza una copia de seguridad de todos los archivos de destino existentes.
--copiar-contenido Cuando es recursivo, copia el contenido de un archivo especial.
-d Es equivalente a --no-dereference --preserve=links.
--fuerza, -f Si algún archivo de destino existente no se puede abrir, elimínelo e inténtelo nuevamente (esta opción se evita si también se usa el indicador -n).
--interactivo, -yo Solicita confirmación antes de sobrescribir (anula el indicador -n anterior).
-H En SOURCE, sigue los enlaces simbólicos de la línea de comandos.
--enlace, -l Especifica archivos de enlace físico en lugar de copiarlos.
--desreferencia, -L En SOURCE, siempre sigue enlaces simbólicos.
--sin-golpe, -n No sobrescribe ningún archivo existente (anula el indicador -i).
--no-dereference, -P En SOURCE, nunca sigue enlaces simbólicos.
-pag Es equivalente a --preserve=modo, marcas de tiempo, propiedad.
--preserve[=ATTR_LIST] Conserva los atributos descritos. Si es posible atributos adicionales: todo, xattr, enlaces, contexto.
--no-preserve=ATTR_LIST No conserva los atributos descritos.
--padres En el directorio, utiliza el nombre completo del archivo fuente.
--recursivo, -r, -R Copia directorios de forma recursiva.
--reflink[=CUANDO] Controla copias CoW/clon.
--eliminar-destino Elimina todos los archivos de destino existentes antes de intentar abrirlos (a diferencia de --force).
--sparse=CUANDO Controla el establecimiento de archivos dispersos.
--cadena-barras diagonales Elimina las barras diagonales finales de todos los argumentos FUENTE.
--enlace-simbólico, -s Crea enlaces simbólicos en lugar de copiar.
--sufijo=SUFIJO, -S Anula el sufijo de copia de seguridad común.
--directorio-destino=DIRECTORIO, -t Copia todos los argumentos FUENTE al DIRECTORIO.
--sin-directorio-destino, -T Considera a DEST como un archivo general.
--actualizar, -u Copia si el archivo FUENTE es más nuevo en comparación con el archivo de destino o si el archivo de destino no está especificado.
--detallado, -v Especifica lo que se está haciendo.
--un-sistema-de-archivos, -x Permanece en el sistema de archivos.
-CON Establece el contexto de seguridad SELinux del archivo de destino al tipo predeterminado.
--contexto[=CTX] Es lo mismo que -Z, o si se menciona CTX, establece el contexto de seguridad SMACK o SELinux en CTX.
--ayuda Muestra el menú de ayuda y sale.
--versión Proporciona detalles de la versión y salidas.

Los archivos SOURCE dispersos se encuentran mediante una heurística barata y el archivo DESR relacionado se crea disperso de forma predeterminada. Es el comportamiento elegido por --sparse=automático . podemos describir --sparse=siempre para crear un archivo DEST disperso si el archivo SOURCE incluye un orden suficientemente largo de cero bytes. También podemos aplicar --sparse=nunca para limitar el establecimiento de archivos dispersos.

Si --reflink[=siempre] Como se menciona, implemente una copia ligera, en la que los bloques de datos se hayan copiado solo si se han modificado. Si no es posible o --reflink=auto se menciona, la copia falla y vuelve a la copia estándar. También podemos aplicar --reflink=nunca para garantizar una copia estándar.

Para copiar un archivo en el mismo directorio, la sintaxis será,

 cp 

Archivo de Linux cp

En la instantánea anterior, hemos creado una copia de 'documento' y lo nombró como 'nuevo' . Si en el caso, (en nuestro caso es 'newdocu') ya existe, entonces simplemente sobrescribirá el archivo anterior.

Para copiar un archivo en un directorio diferente

Tenemos que mencionar la ruta del directorio de destino.

En la siguiente instantánea, antes no hay ningún archivo de 'texto'. Después de dar la orden, 'texto' El archivo se ha copiado al directorio de destino que está 'Escritorio' .

Archivo de Linux cp

Linux cp-r

Opción 'r' con el comando copiar se puede utilizar para copiar un directorio, incluido todo su contenido, desde un directorio de origen al directorio de destino.

Sintaxis:

 cp -r 

Ejemplo:

 cp -r library /home/sssit/Documents 

linux cp-r

En el ejemplo anterior, hemos copiado el directorio 'biblioteca' al directorio de destino /home/sssit/Documentos . Aquí, todo el contenido del directorio 'biblioteca', incluido su contenido, se ha copiado al directorio de destino.

Linux copia varios archivos o directorios

Se pueden copiar varios archivos o directorios a un directorio de destino a la vez. En este caso, el destino debe ser un directorio. Para copiar varios archivos puedes usar comodines (cp *.extension) que tiene el mismo patrón.

Sintaxis:

 cp *. 

Ejemplo:

 cp *.txt /home/sssit/Documents 

Linux copia varios archivos

En el ejemplo anterior, hemos copiado archivos (archivo1, archivo2, archivo3) que tienen la misma extensión. '.TXT' al directorio de Documentos.

Linux cp --copia de seguridad

Si el archivo que desea copiar ya existe en el directorio de destino, puede hacer una copia de seguridad de su archivo existente con este comando.

clase abstracta vs interfaz

Sintaxis:

 cp --backup 

Ejemplo:

 cp --backup file2.txt /home/sssit/Downloads 

Copia de seguridad de archivos cp de Linux

Como puedes ver arriba, 'archivo2.txt' ya existe en el directorio de destino. Por lo tanto, creamos una copia de seguridad de este archivo y lo copiamos en el mismo directorio (con el mismo nombre).

Ahora nuestro directorio de destino que es 'Descargas' tiene dos archivos con el mismo nombre (es decir, 'archivo2.txt').

Linux cp-i

La opción cp '-i' le permite confirmar una vez antes de sobrescribir su archivo.

Sintaxis:

 cp -i 

Ejemplo:

 cp -i file3.txt /home/sssit/Desktop 

Linux cp-i

Como puede ver, solicita permiso para sobrescribir el archivo. 'archivo3.txt' ya que este archivo ya existe en el directorio de destino. Ahora puedes presionar y para sobrescribir el archivo y norte no sobrescribir el archivo.

Linux cp-l

Si desea crear un enlace físico de un archivo en lugar de copiar ese archivo, puede usar la opción 'l'.

actor rohit shetty

Nota: Al crear un enlace físico del archivo, el número de inodo de los dos archivos seguirá siendo el mismo. Mientras que en caso de copia, el número de inodo cambia.

Sintaxis:

 cp -l 

Ejemplo:

 cp -l file1.txt usr/ 

archivo de Linux cp-l

Tenga en cuenta aquí que hemos creado un enlace físico del archivo. 'archivo1.txt' en 'usr' . El número de inodo de ambos archivos es el mismo.

Linux cp-p

La opción cp '-p' se utiliza para preservar las propiedades y atributos de un archivo. También puede conservar las propiedades seleccionadas que desee.

Sintaxis:

 cp -p 

Ejemplo:

 cp -p file2.txt usr/ 

Linux cp-p

Ahora, puede hacer coincidir los dos archivos (el original y el copiado) en la imagen de arriba, ambos tienen las mismas propiedades.

Linux cp-u-v

El comando cp -u -v se utiliza cuando desea asegurarse de que el archivo de destino falte o no exista.

Sintaxis:

 cp -u -v 

Ejemplo:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

Linux cp-u-v

En la imagen de arriba, puedes ver que hay dos archivos. 'ducha' y 'archivo1.txt' . Ahora queremos copiar estos dos archivos en el directorio 'Descargar'. Pero no sabemos que en el directorio 'Descargas' el archivo 'file1.txt' ya existe.

dando la orden 'cp -u -v' se encargará automáticamente del archivo ya existente (archivo1.txt) y no lo sobrescribirá.

Este comando es útil para copiar archivos grandes.