GNU/Linux >> Tutoriales Linux >  >> Linux

Diferencia entre enlaces blandos y enlaces duros en Linux

Enlace suave

Un enlace blando (enlace simbólico o enlace simbólico) permite asociar un archivo con otro. Es similar a un acceso directo en MS Windows, donde el archivo real reside en algún lugar de la estructura del directorio, pero es posible que tenga varios accesos directos o punteros con diferentes nombres que lo apunten. Esto significa que acceder al archivo a través del nombre de archivo real o cualquiera de los accesos directos produciría un resultado idéntico. Cada enlace suave tiene un número de inodo único.

Un vínculo suave puede cruzar los límites del sistema de archivos y se puede utilizar para vincular directorios.

Para crear un enlace suave para unix-admin como sys-admin en el mismo directorio, use el comando ln con la opción -s:

$ cd /home/geek/
$ ln -s unix-admin sys-admin

donde:

  • unix-admin es un archivo existente
  • sys-admin está vinculado a unix-admin

Una vez que haya creado el enlace, emita ll con la opción -i. Observe la letra l como el primer carácter en la segunda columna de la salida. Además, observe una flecha que apunta desde el archivo vinculado al archivo original. Esto indica que sys-admin es simplemente un puntero a unix-admin. La opción -i muestra los números de inodo asociados en la primera columna.

$ ll -i
3674110 lrwxrwxrwx 1 geek geek 10 Jan 12 11:03 sys-admin -> unix-admin
3674109 -rw-rw-r-- 1 geek geek 0 Jan 12 11:03 unix-admin

Si elimina el archivo original (unix-admin en este ejemplo), el enlace sys-admin permanecerá pero apunta a algo que no existe.

Enlace fijo

Un vínculo físico asocia dos o más archivos con un único número de inodo . Esto permite que los archivos tengan permisos, propiedad, marca de tiempo y contenidos de archivo idénticos. Los cambios realizados en cualquiera de los archivos se reflejan en los otros archivos vinculados. Todos los archivos contienen datos idénticos.

Un vínculo fijo no puede cruzar los límites del sistema de archivos y no se puede utilizar para vincular directorios.

El siguiente ejemplo usa el comando ln y crea un enlace fijo para el archivo "ubuntu-rocks" ubicado en /home/geek a "debian-os" en el mismo directorio. Tenga en cuenta que el archivo "debian-os" no existe, pero se creará.

$ cd /home/geek/
$ ln ubuntu-rocks debian-os

Después de crear el enlace, ejecute ll con la opción -i:

$ ll -i
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 debian-os
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 ubuntu-rocks

Mira la primera y la tercera columna. La primera columna indica que ambos archivos tienen números de inodo idénticos y la tercera columna indica que cada archivo tiene dos enlaces duros. “ubuntu-rocks” apunta a “debian-os” y viceversa. Si elimina el archivo original (ubuntu-rocks en este ejemplo), aún tendrá acceso a los datos a través del archivo vinculado debian-os.


Linux
  1. Cómo crear enlaces duros y simbólicos en Linux

  2. Aprenda la diferencia entre los comandos "su" y "su -" en Linux

  3. Enlaces duros y enlaces blandos en Linux explicados

  4. Qué son los Enlaces Simbólicos (Soft Links) y cómo crearlos bajo Linux

  5. Diferencia entre los comandos 'ifconfig' e 'ip'

¿Cuál es la diferencia entre Linux y Unix?

Guía para agregar enlaces simbólicos de Linux

Explicación de Soft Link y Hard Link en Linux con ejemplos

El comando ln en Linux:crear enlaces blandos y duros

Enlaces duros y enlaces blandos en Linux:todo lo que necesita saber

diferencia entre netstat y ss en linux?