GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando cp para copiar archivos y directorios

Copiar archivos o directorios es una de las actividades básicas en todo sistema operativo. La actividad de copia de seguridad consiste básicamente en crear una copia de archivos y directorios. En el sistema Linux, podemos usar el comando cp para hacerlo.

Como mencionamos anteriormente, el comando cp es un comando para crear una copia de archivos y directorios. Aquí hay algunos ejemplos del comando cp que pueden ser útiles en la operación diaria

1) comando cp

Este es un uso de cp muy básico. Para copiar un nombre de archivo myfile.txt de una ubicación a otra ubicación, podemos escribir así:

$ cp myfile.txt /home/pungki/office

Si no escribimos la ruta absoluta, significa que estamos copiando un archivo en el directorio actual. Del ejemplo anterior, myfile.txt se encuentra en /home/pungki/Documentos . No tenemos que escribir /home/pungki/Documents/myfile.txt para copiar myfile.txt si estamos en ese /home/pungki/Documents directorio. Mientras /casa/pungki/oficina es una carpeta donde se copiará el archivo.

2) Copie varios archivos al mismo tiempo

Para copiar varios archivos al mismo tiempo, simplemente podemos colocar los archivos detrás del comando de copia que se separan por espacio. He aquí un ejemplo:

$ cp file_1.txt file_2.txt file_3.txt /home/pungki/office

3) Copiar un directorio

Copiar un directorio es un poco complicado. Debe agregar -r o -R opción para hacerlo. La opción -r o -R significa recursivo. Esta opción es imprescindible si el directorio está vacío o no. He aquí un ejemplo:

$ cp -r directory_1 /home/pungki/office

Una cosa más a tener en cuenta es que debe eliminar la barra inclinada final detrás del nombre del directorio. De lo contrario, aparecerá un mensaje de error como cp:omitiendo el directorio 'directorio_1/'

Si recibe ese error, el directorio no se copiará en la carpeta de destino.

4) Crea enlaces duros a archivos en lugar de copiarlos

Copiar archivo significa que debe tener algo de espacio en el almacenamiento para almacenar los archivos copiados. A veces, por alguna razón, es posible que desee crear "accesos directos" o enlaces a los archivos en lugar de copiarlos. Para hacer esto, podemos usar -l opción.

$ cp -l file_4.txt /home/pungki/office

En la captura de pantalla anterior, vemos que un enlace fijo de file_4.txt fue copiado en /home/pungki/office/file_4.txt . Marcado por el mismo inodo, 835386 . Pero tenga en cuenta que no se pueden crear enlaces duros en directorios. Echemos un vistazo a un ejemplo a continuación.

El directorio original_1 tiene el número de inodo 278230

El archivo original_5.txt tiene el número de inodo 279231

Ejecutar comando cp en directorio_1

El directorio copiado_1 tiene el número de inodo 274800

El archivo_5.txt copiado tenía el número de inodo 279231. Lo mismo con su archivo original

5) Crear enlaces simbólicos a archivos

Hay otro tipo de enlaces llamados softlinks o enlaces simbólicos . Usamos -s opción para hacer esto. Aquí hay un comando de muestra.

$ cp -s /home/pungki/Documents/file_6.txt file_6.txt

La creación de enlaces simbólicos solo se puede hacer en el directorio actual. En la captura de pantalla anterior, queremos crear enlaces simbólicos desde el directorio de origen:/home/pungki/Documents/file_6.txt a /home/pungki/office . Pero para crear enlaces simbólicos, debo entrar /home/pungki/office como carpeta de destino. Una vez que logre estar allí, puedo ejecutar cp -s comando anterior.

Luego, cuando enumere el archivo con detalles, verá que /home/pungki/office/file_6.txt apunta al archivo original. Está marcado con un signo de flecha después del nombre del archivo.

6) Copiar sin seguir enlaces simbólicos en Fuente

Para hacer esto, podemos usar -P opción. Cuando el comando cp encuentra un archivo con enlaces simbólicos, lo copiará tal cual. Eche un vistazo a la muestra a continuación.

$ cp -P file_6.txt ./movie

Como puede ver, el comando cp copiará file_6.txt como es. El tipo de archivo sigue siendo un enlace simbólico.

7) Copiar con los siguientes enlaces simbólicos en Fuente

Ahora podemos hacer esto con -L opción. Básicamente, esto es lo opuesto de la opción -P anterior. Aquí está la muestra.

$ cp -L file_6.txt ./movie

Con esta opción, el archivo copiado es el mismo que el archivo de origen de file_6.txt . Esto se sabe por el tamaño del archivo. El archivo copiado tiene 50 bytes tamaño del archivo mientras que el archivo_6.txt como enlace simbólico tiene 33 bytes tamaño del archivo.

8) Archivar los archivos

Cuando vayamos a copiar un directorio, usaremos -r o -R opción. Pero también podemos usar -a opción para archivar archivo. Esto creará una copia exacta de archivos y directorios, incluidos los enlaces simbólicos, si los hubiere. Aquí hay una muestra:

$ cp -a directory_1/ /home/pungki/office

El comando anterior copiará un directorio llamado directorio_1 en la carpeta /home/pungki/office . Como puede ver, el file_6.txt todavía se copian como enlaces simbólicos.

9) Explicar lo que se está haciendo

De forma predeterminada, cuando la actividad de copia es exitosa, veremos un símbolo del sistema nuevamente. Si desea saber qué sucede durante la copia del archivo, podemos usar -v opción.

$ cp -v *.txt /home/pungki/office

Cuando copiamos todos los archivos txt en el directorio actual a /home/pungki/office/ directorio, -v La opción mostrará lo que se está haciendo. Esta información adicional nos dará más seguridad sobre la actividad de copia.

10) Copie solo cuando el archivo fuente sea más nuevo

Para hacer esto, podemos usar -u opción. Echa un vistazo a este ejemplo a continuación.

$ cp -vu *.txt /home/pungki/office

Al principio, vemos que file_1.txt tiene 0 bytes tamaño del archivo. Luego lo editamos usando vi, agregamos algo de contenido y lo guardamos. A continuación, vemos que el tamaño del archivo ha cambiado a 36 bytes.

Mientras tanto, en /home/pungki/office directorio, ya tenemos todos archivos *.txt. Cuando usamos -u opción, combinada con -v opción para ver lo que se está haciendo, el comando cp solo copiará un archivo (s) que es más nuevo del directorio de destino. Como resultado, vemos que solo el archivo_1.txt se copia en el directorio /home/pungki/office .

11) Usa el modo interactivo

El modo interactivo le preguntará si la carpeta de destino ya tiene el archivo. Para activar el modo interactivo, use -i opción.

$ cp -ir directory_1/ /home/pungki/office/

12) Crear copia de seguridad de la fecha de cada archivo copiado

Cuando la carpeta de destino ya tiene el archivo, por defecto, el comando cp sobrescribirá el mismo archivo en el directorio de destino. Uso de --copia de seguridad opción, el comando cp hará una copia de seguridad de cada archivo de destino existente. ../oficina se referirá a /home/pungki/oficina . Aquí hay una muestra:

$ cp --backup=simple -v *.txt ../office

Como podemos ver, --backup=simple La opción creará un archivo de copia de seguridad que marcado con un signo de tilde (~) al final del archivo. --copia de seguridad opción tiene algún Control, que son:

  • ninguno, desactivado: nunca realiza copias de seguridad (incluso si se proporciona --backup)
  • numerado, t : hacer copias de seguridad numeradas
  • existente, nulo: numerado si existe una copia de seguridad numerada, simple de lo contrario
  • simple, nunca: siempre haga copias de seguridad simples

13) Copiar solo atributos de archivo

El comando Cp también nos proporciona --attributes-only opción. Como podemos adivinar por su nombre, esta opción solo copiará un nombre de archivo y sus atributos sin copiar ningún dato. Aquí hay una muestra.

$ cp --attributes-only file_6.txt -v ../office

De la captura de pantalla anterior, el archivo original file_6.txt tiene 50 bytes tamaño del archivo. Usar --solo atributos opción, el archivo copiado tendrá 0 bytes tamaño del archivo. Esto se debe a que el contenido del archivo no se copia.

14) Forzar copia

Usando -f La opción forzará la actividad de copia. Si los archivos de destino no se pueden abrir, entonces -f intentará de nuevo.

$ cp -f *.txt -v ../office

15) Eliminar destino antes de copiar

Para hacer esto, podemos usar --remove-destination opción. Esta opción es contrasta con la opción -f sobre. Si el comando cp encuentra el mismo nombre de archivo en la carpeta de destino, el comando cp eliminará primero el archivo de destino y luego copiará el nuevo. He aquí un ejemplo.

$ cp --remove-destination *.txt -v ../office

El comando Cp es uno de los comandos básicos de Linux. Para aquellos que quieran aprender Linux, deben conocer este comando. Por supuesto, puede escribir man cp o cp --ayuda desde su consola para mostrar su página de manual para explorar más detalles.

Leer también:

  • Un breve resumen de 106 comandos de Linux con ejemplos

Linux
  1. Cómo copiar archivos y directorios en Linux

  2. Cómo comprimir archivos y directorios en Linux (con ejemplos)

  3. Copiar archivos y directorios en Linux

  4. ¿Cómo usar el comando Rsync en Linux?

  5. ¿Cómo copiar archivos en Linux y Unix? Ejemplos de comandos de 10 cp

Cómo usar el comando SCP para transferir archivos

Cómo cambiar el nombre de archivos y directorios en Ubuntu 20.04

Cómo usar el comando rsync para copiar datos localmente y a través de SSH

CÓMO UTILIZAR EL COMANDO DE COLA

Cómo usar el comando principal

Cómo copiar archivos y directorios en la terminal de Linux