Soft Link y Hard Link en UNIX en OS

Anonim

Se utiliza un enlace en el sistema basado en UNIX para establecer la conexión entre un archivo y los datos reales en el disco. Es más como un puntero o una referencia que apunta a otro archivo o directorio, al igual que el concepto de punteros en los lenguajes de programación.

Digamos que un archivo tiene un nombre muy largo y, por algunas razones, no se puede cambiar. En UNIX, podemos referirnos al archivo con una referencia usando un nombre más corto para facilitar su uso. Estas referencias al mismo archivo en UNIX se llaman enlaces. En pocas palabras, un enlace es un medio para referirse al contenido de un archivo.

Hay dos tipos de enlaces utilizados en UNIX: enlaces suaves y enlaces duros. Ambos se utilizan básicamente para el mismo propósito, excepto la forma en que se comportan.

¿Qué es un enlace blando?

Un enlace suave, o un rosa simbólico, es un pequeño archivo de puntero que asocia un nombre de archivo con la ruta de acceso. No es nada, pero es un acceso directo al archivo original, similar a la opción de acceso directo en los sistemas operativos Windows. Simplemente sirve como referencia a otro archivo o directorio sin el contenido real del archivo, lo que facilita la eliminación de los enlaces flexibles sin afectar el contenido del archivo o directorio original.

En términos simples, un enlace flexible suele ser un alias para el archivo original que redirige al archivo o directorio de destino cuando se accede a través de la ruta de acceso especificada en el asunto del enlace flexible. Además, puede usar enlaces blandos para enlazar a través del sistema de archivos.

¿Qué es un enlace duro?

Un enlace duro es simplemente una réplica del archivo original que sirve como referencia o puntero al mismo archivo, lo que facilita el acceso incluso al archivo original que se elimina o se mueve de su ubicación original. A diferencia de los enlaces blandos, los cambios realizados en los archivos enlazados tendrán efecto en otros archivos y el enlace aún funciona incluso si elimina el archivo fuente del sistema.

Los enlaces duros comparten el mismo valor de Inode y, a diferencia de los enlaces blandos, apuntan a la ubicación del archivo en lugar del directorio. Generalmente se usa en los sistemas de archivos que permiten más que en el enlace duro para el mismo archivo. En pocas palabras, un enlace físico es solo un nombre adicional para un archivo ya existente en sistemas basados ​​en UNIX.

Diferencia entre Soft Link y Hard Link en UNIX

Sentido

Un enlace flexible, también denominado enlace simbólico, es un puntero especial que establece vínculos entre archivos. Es muy similar a la función de acceso directo disponible en los sistemas operativos Windows. Un enlace flexible simplemente es un acceso directo de un archivo que sirve como referencia a otro archivo o directorio. Un enlace duro es muy diferente de un enlace blando. Sirve como referencia o puntero al archivo original, lo que significa que es la copia exacta del archivo original al que apunta. En pocas palabras, un enlace físico es solo un nombre adicional para un archivo ya existente.

Comportamiento

Como un archivo enlazado contiene un valor de Inode separado que apunta al archivo original, el enlace se vuelve inaccesible si el archivo o directorio original se elimina del sistema. Es solo un acceso directo a un archivo para que pueda eliminar los enlaces flexibles sin afectar realmente al archivo o directorio original. A diferencia de los enlaces flexibles, los enlaces duros comparten el mismo valor de Inode que el original que apunta a la misma ubicación del archivo. Los enlaces duros son más flexibles que los enlaces flexibles porque puede acceder al archivo incluso si el archivo original se elimina del sistema.

Mando

Para establecer enlaces entre archivos en un sistema basado en UNIX, debe usar el comando "In". Un enlace flexible se refiere a una ruta simbólica que indica la ubicación del archivo original pero no el contenido. Un enlace flexible se crea utilizando un comando "In -s".

En s

Aquí, reemplazaría el 'archivo_de_archivo' con el archivo original para el que desea crear un enlace flexible y 'miarchivo' con el nombre del enlace flexible o simbólico y el comando In -s crea el enlace flexible a un archivo Nombre, tanto en el directorio actual.

Por otro lado, el comando "In" se utiliza para crear un enlace duro. El comando In es un comando estándar de UNIX que se utiliza para crear un enlace fijo que apunta a múltiples archivos con el mismo nombre.

En

Estructura

A diferencia de los enlaces flexibles que pueden usarse para vincular archivos y directorios, los enlaces duros solo pueden vincular archivos, pero no directorios. La diferencia da a los enlaces suaves ciertas cualidades que los enlaces duros no tienen, como la capacidad de vincular a través del sistema de archivos. La creación y eliminación de enlaces simbólicos no afectará el archivo original. Los enlaces duros, por otro lado, no pueden usarse para vincular archivos fuera del sistema de archivos. Los enlaces físicos comparten el mismo valor de Inode con el contenido real del archivo, por lo que la eliminación de cualquier enlace no afectará a otros enlaces y seguirá mostrando el contenido del archivo.

Enlace suave vs. Enlace duro: Tabla de comparación

Resumen de Soft Link vs. Hard Link

En pocas palabras, tanto los enlaces blandos como los enlaces duros permiten que más de un nombre de archivo se refiera al mismo archivo en otra parte, pero la diferencia radica en la forma en que se comportan cuando el enlace de origen se elimina del sistema. Un enlace duro ocupa menos espacio que un enlace flexible, pero cualquier cambio realizado en el enlace duro finalmente se reflejará en el archivo original, mientras que cualquier cambio en el enlace flexible no tendrá ningún efecto en el archivo original.Un enlace flexible es como una función de acceso directo del sistema operativo Windows utilizado como alias para referirse al archivo o directorio original, mientras que un enlace físico es como una réplica del archivo original que vincula dos archivos en el mismo sistema de archivos.