“Conocimiento Sistemas>unix

Comando cp vs ln en unix?

2013/2/11
Tanto `cp` (copy) como` ln` (enlace) son comandos UNIX utilizados para crear formas adicionales de acceder a archivos, pero lo hacen de manera fundamentalmente diferente. Comprender esta diferencia es crucial para evitar un comportamiento inesperado.

`cp` (copia):

* crea un duplicado: `CP` crea una copia completamente separada del archivo. Esta copia ocupa su propio espacio en el disco. Los cambios realizados en el archivo original no afectarán la copia y el viceversa.

* Tamaño del archivo: El archivo copiado tendrá el mismo tamaño que el original.

* metadatos: Si bien algunos metadatos (como permisos y marcas de tiempo) pueden copiarse, no siempre es una replicación perfecta. El número de inodo (un identificador único para un archivo en el sistema de archivos) será diferente.

* Uso: Use `CP` cuando necesite una versión independiente y separada de un archivo. Si modifica uno, el otro permanece intacto.

`ln` (enlace):

* Crea un puntero: `ln` crea un enlace, que es esencialmente un puntero al archivo original. No crea una nueva copia de los datos; En cambio, crea una nueva entrada de directorio que apunta al mismo inodo que el archivo original.

* Tamaño del archivo: El enlace en sí ocupa muy poco espacio en disco. El tamaño es esencialmente del tamaño del nombre del enlace.

* metadatos: El enlace hereda algunos metadatos del archivo original.

* Dos tipos de enlaces:

* Enlaces duros: Solo se puede crear para archivos (no directorios), y múltiples enlaces duros apuntan a los mismos datos. Eliminar un enlace duro no elimina los datos originales a menos que * todos * se eliminen los enlaces duros.

* enlaces simbólicos (enlaces suaves): Puede apuntar a los archivos * o * directorios. Contienen la ruta al archivo original. Eliminar un enlace simbólico no afecta el archivo original. Si el archivo original se mueve o elimina, el enlace simbólico se romperá.

Aquí hay una tabla que resume las diferencias clave:

| Característica | `cp` (copia) | `ln` (enlace) |

| ---------------- | ---------------------- | ---------------------- |

| Acción | Crea un duplicado | Crea un puntero |

| Espacio en disco | Utiliza espacio adicional | Espacio adicional mínimo |

| Cambio de datos | Copias independientes | Los cambios afectan todos los enlaces (enlaces duros) |

| Eliminación de archivos | Eliminar una copia no afecta a otros | Eliminar todos los enlaces duros Elimina los datos; Los enlaces simbólicos se rompen |

| Tipo de archivo | Funciona en archivos y directorios | Enlaces duros:solo archivos; enlaces simbólicos:archivos y directorios |

Ejemplo:

Digamos que tiene un archivo llamado `myDocument.txt`.

* `CP myDocument.txt myDocument_Copy.txt` crea una copia completamente separada.

* `ln myDocument.txt myDocument_link` crea un enlace duro. Tanto `myDocument.txt` como` myDocument_link` se refieren a los mismos datos.

* `ln -s myDocument.txt myDocument_Symlink` crea un enlace simbólico. `myDocument_Symlink` señala` myDocument.txt`.

En esencia:use `cp` cuando necesite una copia verdadera; Use `ln` cuando desee múltiples nombres que apunten a los mismos datos (enlaces duros) o un atajo conveniente (enlaces simbólicos). Elija el comando que mejor se adapte a sus necesidades en función de si necesita copias independientes o una referencia eficiente.

unix
¿Qué significa doble columna?
¿Qué significa la línea 1 en codificación?
Cómo averiguar quién pertenece a un grupo de Unix
¿Qué es el alfabeto en binario?
¿Cómo se cambia los permisos en un script de shell en Unix?
¿Cuál es el significado y cuándo se usó?
¿En qué tipo de hardware se ejecuta Unix?
¿Cuántos bytes hay en una sola pieza de binario?
Conocimiento de la computadora © http://www.ordenador.online