Enlaces
Lo que llamamos
enlaces es un mecanismo que proporcionan la gran mayoría de sistemas operativos. Los enlaces no son más que un puente a un fichero o un directorio perteneciente al sistema, como una referencia que podemos poner en cualquier sitio que nos interese y que actúa como un acceso directo a cualquier otro.
Este mecanismo nos permite acceder a distintos directorios y ficheros de forma más rápida, sin tener que desplazarnos por la jerarquía de directorios. Por ejemplo, si habitualmente necesitamos acceder al directorio:
/usr/local/share/ podríamos crearnos en nuestro directorio
home un enlace a ese directorio con:
$ ln -s /usr/local/share atajo
Con esto crearemos un enlace simbólico llamado
atajo que apunta
/usr/local/share/. Podemos ver si lo hemos creado bien haciendoun listado detallado:
$ ls -l atajo
lrwxrwxrwx 1 nacx nacx 16 jun 19 16:58 atajo -> /usr/local/share/
Aquí podemos comprobar que el enlace apunta realmente donde nosotros queremos. Podemos observar también como el primer carácter en el bloque de
permisos es una
l, lo que nos indica que el ficehro es un enlace.
Es importante remarcar que si accedemos al directorio por el
atajo y luego hacemos un
cd .. volveremos al directorio donde está el atajo y no al directorio superior.
Podemos eliminar el
enlace simbólico que acabamos de crear con:
$ unlink atajo
Enlaces simbólicos y enlaces fuertes
En el ejemplo, hemos mencionado el término
enlace simbólico. Los enlaces simbólicos significan que tan sólo estamos creando un apuntador o puente hacia el ficehro o directorio, de forma que si eliminásemos el fichero destino el enlace no apuntaría a ninguna parte. Los enlaces simbólicos los creamos añadiendo el parámetro
-s al comando
ln.
Si omitimos este parámetro se crearía lo que se llama un
enlace fuerte (o
hard link) que, a diferencia de los
enlaces simbólicos hace un duplicado del fichero. Internamente no es exactamente un duplicado del fichero, sinó dos i-nodos que apuntan a los mismos datos, pero puede verse de forma abstracta como una copia del ficehro. La ventaja de este tipo de enlaces es que si se borra una de las copias la otra aún se conserva. A pesar de esto, este tipo de enlace no se utiliza demasiado ya que complica la gestión y manipulación de los ficheros (siempre es mejor tener una sola copia de cada fichero). Además, si hacemos un enlace fuerte de un directorio, todos los ficheros y subdirectorios que contuviera también se deberían referenciar. Es por este motivo que sólo
root puede hacer enlaces fuertes de directorios. Otra diferencia es que con un enlace simbólico podemos ver a qué fichero estamos apuntando (tal y como hemos hecho en el ejemplo anterior), mientras que con un enlace fuerte no (debido a su implementación interna).
Tutorial elaborado por
Nacx para ADSLAyuda.com