LINUX

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

Copiar archivos o directorios es una de las actividades básicas de todos los sistemas operativos. 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 el funcionamiento diario.

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, podemos escribir así:

$ cp myfile.txt /home/pungki/office

Copiar sin opciones

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

2) Copie varios archivos al mismo tiempo

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

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

Copiar varios archivos

3) Copiar un directorio

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

$ cp -r directory_1 /home/pungki/office

Copiar directorio

Una cosa más a tener en cuenta es que necesita eliminar la barra al final detrás del nombre del directorio. De lo contrario, tendrá un mensaje de error como cp: omitiendo el directorio ‘directorio_1 /’

Error al copiar directorio

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

4) Cree vínculos físicos 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 cualquier motivo, es posible que desee crear «accesos directos» o vínculos a los archivos en lugar de copiarlos. Para hacer esto, podemos usar -l opción.

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

Copiar enlaces duros

En la captura de pantalla anterior, vemos que un enlace fijo de file_4.txt fue copiado en /home/pungki/office/file_4.txt. Está marcado por el mismo inodo, 835386. Pero tenga en cuenta que los enlaces físicos no se pueden crear en directorios. Veamos un ejemplo a continuación.

El directorio_1 original tiene el número de inodo 278230
Inode número de directorio original

El file_5.txt original tiene el número de inodo 279231
Número de inodo original del archivo

Hacer el comando cp en el directorio_1
Copiar usando las opciones -rl

El directorio_1 copiado tiene el número de inodo 274800
Inode número de directorio copiado

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

5) Crea enlaces simbólicos a archivos

Hay otro tipo de enlaces llamados enlaces suaves 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 realizar 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 vínculos simbólicos, Debo adentro / 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.

Enlaces simbólicos

6) Copiar sin los siguientes enlaces simbólicos en Fuente

Para hacer esto, podemos usar -PAG opción. Cuando el comando cp encuentre 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

Copiar usando la opción -P

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 un opuesto de la opción -P anterior. Aquí está la muestra.

$ cp -L file_6.txt ./movie

Copiar usando la opción -L

Con esta opción, el archivo copiado es el mismo archivo que el archivo fuente de file_6.txt. Esto se conoce por el tamaño del archivo. El archivo copiado tiene 50 bytes tamaño de 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 -ro -R opción. Pero también podemos usar -a opción para archivar el archivo. Esto creará un copia exacta de archivos y directorios, incluidos los enlaces simbólicos, si los hubiera. He aquí una muestra:

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

Copiar usando la opción -a

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

9) Explique lo que se está haciendo.

De forma predeterminada, cuando la actividad de copia sea correcta, volveremos a ver un símbolo del sistema. Si desea saber qué sucede durante la copia del archivo, podemos usar -v opción.

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

Opción detallada

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

10) Copie solo cuando el archivo de origen sea más reciente

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

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

Copiar solo si es más reciente

Al principio, vemos 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 / hogar / pungki / oficina directorio, nosotros ya tengo todo 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) 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 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/

Modo interactivo

12) Cree la fecha de respaldo 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. Usando –respaldo opción, el comando cp hará una copia de seguridad de cada archivo de destino existente. ../office se referirá a / home / pungki / office. He aquí una muestra:

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

Opción de respaldo

Como podemos ver, –backup = simple La opción creará un archivo de respaldo que marcado por un signo de tilde (~) al final del archivo. –respaldo La opción tiene algunos controles, que son:

  • ninguno, apagado: nunca copias de seguridad (incluso si se proporciona una copia de seguridad)
  • numerado, t: hacer copias de seguridad numeradas
  • existente, nulo: numerado si existe una copia de seguridad numerada, simple en caso contrario
  • simple, nunca: siempre haga copias de seguridad simples

13) Copie solo los atributos del archivo

El comando Cp también nos proporciona –sólo atributos 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í tienes una muestra.

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

Copiar solo atributos

De la captura de pantalla anterior, el archivo original file_6.txt tiene 50 bytes tamaño del archivo. Usando –sólo atributos opción, el archivo copiado tendrá 0 bytes tamaño del archivo. Esto se debe a que el contenido del archivo no se está copiando.

14) Forzar copia

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

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

Copiar con fuerza

15) Eliminar destino antes de copiar

Para hacer esto, podemos usar –remove-destination opción. Esta opcion es contraste 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

Eliminar opción de destino

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 hombre cp o cp –ayuda desde su consola para mostrar su página de manual para explorar más detalles.

Leer también:

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
Cerrar