Cómo Crear un Enlace Duro (Hard Link) en Linux
Introducción
Los enlaces duros o hard link asocian dos o más ficheros compartiendo el mismo inodo, esto hace que cada enlace duro sea una copia exacta del resto de los ficheros enlazados, tanto en los datos como en los permisos, propietario, grupo, etc. Cuando se modifica uno de los enlaces o el fichero original, los cambios afectan al resto de los enlaces.
Nota: Los enlaces duros no pueden hacerse contra directorios y tampoco fuera del propio sistema de ficheros.
En sistemas linux también existen los enlaces simbolicos, también conocidos como enlaces blandos o Symlinks.
Características principales de los enlaces duros
- Solo se pueden hacer entre ficheros. No se pueden hacer entre directorios.
- No se pueden hacer entre distintos sistemas de ficheros.
- Comparten el número de inodo
- Si se borra el fichero original la información no se pierde.
- Son copias exactas del fichero original. Los cambios aplicados a uno de ellos o al fichero original, afectan a todos.
Creando un enlace duro (hard link)
La sintaxis genérica para crear un enlace duro es la siguiente:
- TARGET: Nombre del archivo existente al que le crearemos el enlace duro.
- LINK_NAME: Nombre del enlace duro.
Veamos un ejemplo:
Si listamos ambos archivos con el comando ls -li,
Observamos que ambos comparten el mismo inodo
Se observa en la primera columna que ambos, archivo y enlace, comparten el mismo número de inodo (786433). La tercera columna indica cuantos enlaces duros tiene el fichero, en este caso 2, el archivo original más el enlace.
Si modificamos uno de ellos, los cambios afectan a todos. Por ejemplo, vamos a conceder permiso de ejecución al propietario en el archivo test.txt y veamos que pasa con el enlace:
Si volvemos a listar ambos archivos vemos que el cambio ha afectado a ambos, al fichero original y al enlace:
Si editásemos el archivo o el enlace, los cambios realizados en el contenido afectarían a ambos. ## Generar varios
Para crear 35 enlaces duros de _metadata.yml puedes usar un simple bucle for en la terminal de Linux:
Este comando hace lo siguiente:
for i in {1..35}: Esto establece un bucle que itera desde 1 hasta 35.ln _metadata.yml "_metadata$i.yml": Dentro del bucle, se ejecuta el comandolnpara crear un enlace duro de_metadata.ymlcon el nombre_metadataX.yml, dondeXes el valor actual deien el bucle.
Finalmente, se generarán los 35 enlaces duros.
Publicaciones Similares
Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:
- Comandos De Informacion Windows
- Adb
- Limpieza Y Optimizacion De Pc
- Usando Apk En Windown 11
- Gestionar Versiones De Jdk En Kubuntu
- Instalar Tor Browser
- Crear Enlaces Duros O Hard Link En Linux
- Comandos Vim
- Guia De Git Y Github
- 00 Primeros Pasos En Linux
- 01 Introduccion Linux
- 02 Distribuciones Linux
- 03 Instalacion Linux
- 04 Administracion Particiones Volumenes
- Atajos De Teclado Y Comandos Para Usar Vim
- Instalando Specitify
- Gestiona Tus Dotfiles Con Gnu Stow
Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!