¿Cómo crear enlaces duros en Linux?

How Create Hard Links Linux



La vinculación es una característica interesante en Linux. En los sistemas operativos tipo UNIX, todo es un archivo. Un archivo es fundamentalmente un enlace a un inodo, un tipo especial de estructura de datos que almacena todo sobre un determinado archivo excepto su nombre original y su contenido real. Esta es la característica que aprovecha los enlaces. Crear un enlace es crear otro archivo que apunte al mismo inodo subyacente que otro archivo. En muchas situaciones, es un método increíblemente útil.

Vea cómo crear enlaces físicos en Linux.







Enlaces duros en Linux

Antes de profundizar, hablemos un poco sobre los enlaces duros y blandos. Existen algunas diferencias fundamentales entre ellos. En el caso de un enlace físico, solo puede existir en el mismo sistema de archivos, mientras que el enlace simbólico persistirá entre sistemas de archivos. Además, solo se puede realizar en archivos normales. Tampoco puede crear enlaces físicos de directorio, por lo que no crea un bucle de directorio.



Si se elimina un archivo del vínculo físico, se elimina el vínculo del inodo subyacente.



El comando ls puede imprimir el inodo de un archivo / directorio de destino.





$ls -en el <file_or_dir>

Creando enlaces duros

Generar un vínculo físico es bastante simple. Para crear enlaces, ln es la herramienta dedicada disponible en casi todas las distribuciones de Linux.



Utilice la siguiente estructura de comando para crear un vínculo físico. Tenga en cuenta que el destino debe estar dentro del mismo sistema de archivos. El indicador -v es para el modo detallado.

$en -v <fuente> <Enlace>


Verifica el resultado.

$ls -en el <objetivo>


En cuanto a la vinculación dura de directorios, no está permitido. Hipotéticamente, todavía es posible crear, pero la mayoría de las distribuciones de Linux deshabilitan esa función, incluso si ejecuta la acción con privilegios de root. Para la vinculación de directorios, utilice enlaces suaves.

Enlaces blandos

Los enlaces suaves se denominan comúnmente enlaces simbólicos. Los enlaces suaves pueden ser entre sistemas de archivos. Por definición, no es un archivo estándar, sino un archivo que apunta a un archivo existente. Aquí, el archivo de enlace flexible tendrá un valor de inodo diferente, pero apunta al archivo original.

Al igual que crear enlaces físicos, usaremos la herramienta ln. Para declarar la creación de un enlace flexible, agregue la marca -s.

$en -vs <fuente> <destino>


Verifica el resultado.

$ls -en el <objetivo>

Si ya existe un enlace, puede actualizarlo usando la marca -f que obliga a ln a actualizar el enlace sin ninguna confirmación. Alternativamente, puede usar el indicador -i para la creación de enlaces interactivos.

$en -sf <fuente> <destino>


No olvide verificar el resultado.

$ls -en el <objetivo>

Encontrar enlaces

Suponiendo que hay varios enlaces al mismo archivo, realizar un seguimiento de ellos puede resultar difícil. En tal situación, utilice este método para averiguar todos los enlaces.

Para esto, necesitamos el valor de inodo del archivo original. Utilice el siguiente comando para averiguar el número de inodo.

$ls -en el <archivo de destino>


Ahora, use el número de inodo para encontrar todos los enlaces a ese archivo. Aquí, el directorio activo actual debería ser el directorio donde se encuentra el archivo original.

$encontrar.-inum <inode_value>

Eliminando enlaces

Si desea deshabilitar un vínculo físico, la forma de hacerlo es eliminando el archivo vinculado.

$rm <Enlace>

Pensamientos finales

La vinculación es una herramienta poderosa que puede utilizar en muchas situaciones. Si bien tiene sus propias limitaciones, puede ofrecer excelentes beneficios en muchos escenarios.

¿Está interesado en obtener más información sobre el comando ln? Vea cómo usar el comando ln.

¡Feliz informática!