Mi Blog
👉 ¿Cómo crear enlaces simbólicos y duros en GNU/Linux?

¿Cómo crear enlaces simbólicos y duros en GNU/Linux?

 
(9 votos)

Los enlaces simbólicos y en menor medida los enlaces duros, son muy utilizados en los equipos GNU/Linux para organizar, mejorar, y ahorrar espacio en los sistemas de ficheros. Los enlaces son muy sencillos de crear pero hay que saber las diferencias entre los dos tipos de enlaces.

Seguid leyendo y os enseñaré que son cada uno de los tipos de enlaces que podemos crear...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ SON LOS ENLACES SIMBÓLICOS? ¿Y LOS ENLACES DUROS?

En GNU/Linux se pueden crear dos tipos de enlaces. Cada uno de ellos tiene su target diferente, y vamos a verlo a continuación:

Enlace simbólico (Symbolic Link/Soft Link)

La forma mas sencilla de entender como funciona un enlace simbólico es compararlo con los "accesos directos" de Windows. El fichero o carpeta original, está ubicado en un único sitio del disco duro. El enlace (o enlaces) que apuntan a dicho fichero o directorio, son solamente punteros que apuntan hacia el fichero/directorio original. Cada enlace simbólico crear su propio inodo, lo que nos permite hacer enlaces simbólicos entre distintos sistemas de ficheros.

Enlace duro (Hard Link)

Los enlaces duros a diferencia de los soft-links, asocian dos o más ficheros compartiendo el mismo inodo. Por tanto, cada uno de los enlaces es una copia idéntica del fichero original (contenido, tamaño, permisos...). Cuando se hace un cambio en uno de los ficheros ó enlaces, el cambio también se aplicará sobre el resto de ficheros. Los enlaces duros no pueden hacerse con directorios y tampoco fuera del propio sistema de ficheros, mientras que un soft-link si.

 

Symbolic and Hard LinkTipos de enlaces

 

 

Existen dos tipos de enlaces: blancos y duros

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con cualquier distribución de GNU/Linux

 

 

Para crear un enlace simbólico (soft link), la sintaxis es al siguiente:

ln -s ORIGEN DESTINO

 

 

Por ejemplo, tenemos un fichero de texto llamado "fichero.txt":

[raul@debian tutorial_enlaces]$ ls -l
total 4
-rw-r--r-- 1 raul raul 5 Apr 29 15:18 fichero.txt

 

 

Si queremos crear un enlace simbólico hacia dicho fichero, utilizaremos el siguiente comando, donde fichero_link.txt será el nombre del enlace:

[raul@debian tutorial_enlaces]$ ln -s fichero.txt fichero_link.txt

 

 

Los enlaces simbólicos crean nuevos inodos, ya que son un fichero nuevo con un inodo asignado con referencia al inodo principal. Con la opción -i de "ls" se puede ver el inodo de cada uno de ellos:

[raul@debian tutorial_enlaces]$ ls -li
total 8
12716109 lrwxrwxrwx 1 raul raul 11 Apr 29 15:19 fichero_link.txt -> fichero.txt
12716108 -rw-r--r-- 1 raul raul 5 Apr 29 15:18 fichero.txt

 

 

Cuando hagamos una operación sobre el enlace simbólico, realmente estaremos operando sobre el fichero original. En el siguiente ejemplo se ejecuta un simple cat del enlace simbólico y el contenido mostrado es el contenido del fichero original fichero.txt:

[raul@debian tutorial_enlaces]$ cat fichero_link.txt 
hola

 

 

Podemos crear enlaces simbólicos desde cualquier otro directorio siempre que tengamos acceso, por ejemplo, creamos un enlace simbólico de un directorio en nuestro path actual:

[raul@debian tutorial_enlaces]$ ls -s /var/www/html html
[raul@debian tutorial_enlaces]$ ls -l html
lrwxrwxrwx 1 raul raul 14 Apr 29 15:56 html -> /var/www/html/

 

 

Para crear un enlace duro (hard link), la sintaxis es al siguiente:

ln ORIGEN DESTINO

 

 

Tenemos el fichero de ejemplo "fichero.txt" con un sencillo contenido dentro de él:

[raul@debian tutorial_enlaces]$ ls -l
total 4
-rw-r--r-- 1 raul raul 30 Apr 29 16:29 fichero.txt
[raul@debian tutorial_enlaces]$ cat fichero.txt
contenido del fichero original

 

 

Ahora creamos el hard-link llamado fichero_hard.txt:

[raul@debian tutorial_enlaces]$ ln fichero.txt  fichero_hard.txt

 

 

Ahora, a diferencia de los enlaces simbólicos, el inodo de ambos fichero es el mismo, los permisos y el contenido. Son fichero exactamente idénticos:

[raul@debian tutorial_enlaces]$ ls -li
total 8
12716348 -rw-r--r-- 2 raul raul 30 Apr 29 16:29 fichero_hard.txt
12716348 -rw-r--r-- 2 raul raul 30 Apr 29 16:29 fichero.txt

 

 

Si modificamos el contenido del fichero "link", veremos que el contenido del fichero original también ha cambiado:

[raul@debian tutorial_enlaces]$ echo "modificado desde shell" > fichero_hard.txt

 

 

A continuación se puede ver que el fichero original ha cambiado al compartir el mismo inodo:

[raul@debian tutorial_enlaces]$ cat fichero.txt 
modificado desde shell

 

 

4.- DIFERENCIAS ENTRE ENLACES SOFT Y HARD

Las diferencias entre los enlaces son:

  • Los enlaces simbólicos son punteros al fichero original. Los enlaces duros son copias idénticas del fichero original.
  • Los enlaces simbólicos crean un nuevo inodo. Los enlaces duros comparten el número de inodo.
  • En los enlaces simbólicos si borramos el fichero o directorio original, la información se pierde. En los enlaces duros, si borramos el fichero original, los demás enlaces no se borran.
  • Los enlaces simbólicos se pueden aplicar a ficheros y directorios. Los enlaces duros solo se pueden aplicar a ficheros.
  • Los enlaces simbólicos se pueden aplicar entre diferentes sistemas de ficheros. Los enlaces duros no se pueden aplicar entre 

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
AVISO DE COOKIES

Esta página web utiliza cookies propias y de terceros para fines funcionales (permitir la navegación web), para optimizar la navegación y personalizarla según tus preferencias asícomo para mostrarte publicidad en base a tu perfil de navegación (p.e páginas visitadas).

Privacidad