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
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
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
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 /’
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
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
El file_5.txt original tiene el número de inodo 279231
Hacer el comando cp en el directorio_1
El directorio_1 copiado tiene el número de inodo 274800
El archivo_5.txt copiado tenía el número de inodo 279231. Lo mismo que su archivo original
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.
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
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
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
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
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
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/
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
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
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
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
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: