Enlaces Duros e Enlaces Simbolicos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Sistemas Operativos Abiertos IES CIBERTEC

ENLACES DUROS E ENLACES SIMBOLICOS

Para acceder de una manera rápida y cómoda a los programas o ubicaciones de uso
habitual en Linux no existen accesos directos como lo hay en Windows.

En Linux los accesos directos se llaman enlaces.

En Linux cada fichero y cada carpeta del sistema operativo tienen asignado un número
entero llamado inodo.

Este inodo es único para cada uno de los archivos y cada uno de las carpetas.

La información que almacena cada uno de los inodos de los distintos archivos y
carpetas es la siguiente:

• Los permisos del archivo o carpeta.


• El propietario del fichero y carpeta.
• La posición/ubicación del archivo o de la carpeta dentro de nuestro disco duro.
• La fecha de creación del archivo o directorio.
• Etc.

Existen 2 tipos de enlaces, los enlaces duros y los enlaces simbólicos.

ENLACE DURO O HARD LINK

Un enlace duro o Hard Link es un archivo que apunta al mismo contenido almacenado
en disco que el archivo original.

Por lo tanto, los archivos originales y los enlaces duros dispondrán del mismo inodo y
consecuentemente ambos estarán apuntando hacia el mismo contenido almacenado
en el disco duro.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Se podrá realizar un enlace duro de un archivo siempre y cuando el archivo esté en la


misma partición del disco duro que pretendemos crear el enlace.

Los enlaces duros o Hard Link creados por defecto con ln (sin opciones) produce dos
entradas de directorio que apuntan al mismo archivo (más concretamente, al mismo
nodo de índice).

Ninguno de los dos nombres es más auténtico que otro por lo que para borrar el
archivo, deberemos de eliminar ambos enlaces de referencia. Otra restricción de los
enlaces duros o Hard Link es que deben referenciar a archivos dentro del mismo
sistema de archivos a bajo nivel, por ejemplo, no podríamos crear un enlace duro o de
referencia (hard link) desde / (raíz) hacia /home, suponiendo que /home esté en una
partición independiente.

Ejemplo 1

Creamos el archivo

touch oficio.txt

Consultamos su inodo

ls -li oficio.txt
El resultado obtenido en mi caso es el siguiente:

Por lo tanto, el inodo del archivo que acabamos de crear es el 1704280.

También vemos que actualmente solo hay 1 archivo/entrada en el sistema que esté
apuntando al mismo inodo.

Una vez creado el archivo crearemos un enlace duro hacia el archivo que acabamos
de crear introduciendo el siguiente comando en la terminal:

ln oficio.txt enlaceoficio

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Cada una de las partes del comando para crear el enlace duro tiene el siguiente
significado:

ln: Es el comando encargado de realizar enlaces entre ficheros.

geekland.txt: Es la ruta o nombre del archivo original que tenemos en nuestro disco
duro.

enlacegeekland: Corresponde a la ruta o nombre del enlace duro que vamos a crear.

Una vez ejecutado el comando se habrá realizado el enlace duro.

Como se puede ver el número de inodo sigue siendo el mismo que antes, pero ahora
hay 2 archivos/entradas apuntando hacia el mismo inodo.

Estos 2 archivos/entradas son el archivo original más el enlace duro que acabamos de
crear.

Seguidamente comprobaremos el número de inodo del enlace duro que hemos creado
ejecutando el siguiente comando en la terminal:

ls -li enlaceoficio
El resultado obtenido es:

Por lo tanto, se puede observar que tanto el enlace duro como el archivo que hemos
creado apuntan al mismo inodo, y consecuentemente apuntan hacia la misma
información almacenada en nuestro disco duro.

Además, tanto el enlace duro como el archivo original disponen de los mismos
permisos, del mismo propietario y forman parte del mismo grupo.

Ejemplo 2

Usar enlaces para soportar tareas de administración de sistema

Sirva de ejemplo la siguiente sentencia

ln -s $HOME/www /opt/joomla1.5.1/joomla-1.5.2-0/apache2/htdocs/

Donde:

/opt/joomla1.5.1/joomla-1.5.2-0/apache2/htdocs/ es la ruta al directorio en el que se


encuentran los archivos del servidor web.

$HOME es el directorio de usuario

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

www es un directorio creado en nuestra carpeta de usuario

Con ese enlace simbólico, se consigue tener todos los proyectos web que se irán
creando en nuestro equipo dentro de la carpeta de usuario.

La idea es que si algún día, se cambia de distribución Linux, no se pierda ese trabajo
por un despiste: toda la documentación y proyectos están en el directorio de usuario
($HOME) así no se tendrá que recordar que dentro del sistema de ficheros de Linux
hay cosas que podrían hacer falta.

Si se quiere crear un enlace duro en vez de uno simbólico, la sintaxis es la misma


cambiando única y exclusivamente, el parámetro por -t.

Crear enlaces duros recursivos de todo un directorio

En el caso que queramos crear enlaces duros en masa de la totalidad de contenido


almacenado en un directorio también lo podemos realizar muy fácilmente.

cp -rl /home/manuel/vacaciones /home/manuel/Escritorio/vacaciones/

previamente se creará un directorio llamado vacaciones fuera de escritorio para que


cuando se cree el enlace en escritorio se note la diferencia.

Cada una de las partes del comando usado para crear los enlaces duros recursivos
tienen el siguiente significado:

cp: Se refiere al comando copy que es el que usamos para crear los enlaces duros de
forma masiva.

-rl: La letra r hace referencia a recursivo y la letra l hace referencia a enlace duro. Por
lo tanto, añadiendo estas 2 opciones hacemos que se copien la totalidad de archivos
de una carpeta a otra mediante la creación de enlaces duros.

/home/manuel/vacaciones: Es la ruta de la carpeta que contiene las fotos originales.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

/home/manuel/Escritorio/vacaciones: Es la ruta de la carpeta en la que queremos


crear los enlaces duros.

Una vez ejecutado este comando habremos creado en una multitud de enlaces duros.

NOTA: Los enlaces de referencia (Enlace duro o Hard Link) normalmente no se pueden
crear a directorios, solo root puede intentarlo si pasa como argumento las opciones -d,
-F o –directory. En la práctica es improbable que esto funcione, ya que la mayoría de
los filesystem no lo soportan, en cambio, esto no supone ningún problema para los
enlaces simbólicos.

Propiedades y particularidades de los enlaces duros

Con lo visto en los apartados anteriores y usando nuestra capacidad de deducción,


podemos afirmar que algunas de las propiedades y particularidades que tenemos que
tener en cuenta de los enlaces duros son las siguientes:

1- Cualquier cambio que se introduzca en el archivo original o en el enlace duro,


afecta a los dos por igual.

2- En el caso de borrar el archivo original oficio.txt aún podemos tener acceso al


contenido a través de su enlace duro enlaceoficio.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

3- No se pueden crear enlaces duros de carpetas. Antiguamente era posible


realizarlos y es posible que haya algún sistema operativo que aún lo permita,
pero la mayoría de sistemas operativos actuales no lo permiten debido a que
este hecho puede transformar la estructura de directorios de Linux.
4- Los enlaces duros ocupan menos tamaño en el disco duro que los enlaces
simbólicos.
5- El acceso al contenido a través de un enlace duro es más rápido que en los
enlaces simbólico.
6- Los enlaces duros únicamente se pueden usar en la partición en la que los
hemos creado. Por lo tanto si creamos un enlace duro en la partición /home, no
lo podremos usar en la partición /root.
7- Si cambiamos de ubicación el archivo original el enlace duro no se rompe y lo
podemos usar sin ningún tipo de problema.
8- Los permisos, el propietario y el grupo del enlace duro serán los mismos que el
del archivo original.

Utilidades y ventajas de los enlaces duros

1- Realizar copias de seguridad incrementales ahorrando espacio en disco


duro y un tiempo considerable.
2- Cuando copiamos un archivo de gran tamaño.
3- El enlace duro es una muy buena opción para tener un archivo en varias
ubicaciones. Usando enlaces duros para este fin evita que se generen
enlaces simbólicos rotos.
4- Los enlaces duros también nos pueden servir para clasificar información
como por ejemplo fotografías.

ENLACES SIMBÓLICOS, BLANDOS O SOFT LINKS

Los enlaces simbólicos son parecidos a los accesos directos en Windows y son los
enlaces que todos los usuarios comunes acostumbran a usar de forma habitual.

Acabamos de ver que los enlaces duros apuntan a un archivo almacenado en nuestro
disco duro. En contraposición, tal y como se puede ver representado en la imagen, los
enlaces simbólicos apuntan al nombre de un archivo y posteriormente el archivo
apunta a un contenido almacenado en nuestro disco duro.

cada enlace simbólico dispone de su propio número de inodo y es diferente al del


archivo original. Por lo tanto podremos crear enlaces simbólicos de archivos y de
carpetas aunque estén en discos duros diferentes o en particiones diferentes.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Los enlaces simbólicos son un tipo especial de archivo (archivos que contienen
nombres de archivos) cuyo contenido apunta al archivo enlazado. Linux accede al
archivo enlazado (archivo original) cada vez que intenta acceder al enlace simbólico,
por lo que acceder a un enlace simbólico es como acceder al archivo original. Esto nos
permite crear punteros entre sistemas de archivos de bajo nivel.

En la teoría acceder al archivo original desde el enlace simbólico consume una


cantidad mínima de tiempo, por lo que es más lento acceder a los enlaces
simbólicos que a los enlaces duros, aunque no lo suficiente como para percatarnos
de ello.

En la práctica, los enlaces simbólicos son más comunes que los enlaces duros; sus
desventajas son menores y la capacidad de enlazar entre sistemas de archivos
independientes y directorios puede ser importante. Con ellos podemos llamar a un
mismo fichero usando varios nombres, los identificará el sistema operativo por su
número de inodo generado de forma semi aleatoria.

Para comprender bien lo que es un enlace simbólico crearemos un archivo de texto


ejecutando el siguiente comando en la terminal:

touch geekland.txt

Una vez creado el archivo vamos o consultar su número de inodo ejecutando el


siguiente comando en la terminal:

ls -li geekland.txt

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

El resultado obtenido es:

Por lo tanto, el inodo del archivo que acabamos de crear es el 1706209. También
vemos que actualmente solo hay 1 archivo/entrada en el sistema que esté apuntando
al mismo inodo.

Una vez creado el archivo crearemos un enlace simbólico hacia el archivo que
acabamos de crear ejecutando el siguiente comando en la terminal:

ln -s /home/manuel/ Escritorio/carta.txt /home/manuel/Escritorio/enlacecarta

Cada una de las partes del comando usado para crear el enlace simbólico tienen el
siguiente significado:

ln: Es el comando encargado de realizar enlaces entre ficheros o carpetas.

-s: Es la parte del comando que indica que el tipo de enlace que queremos crear es un
enlace simbólico.

/home/manuel/carta.txt: Es la ruta y nombre del archivo original que tenemos en


nuestro disco duro.

/home/manuel/Escritorio/enlacecarta: Corresponde a la ruta y el nombre del enlace


simbólico que vamos a crear.

Una vez ejecutado el comando se habrá realizado el enlace simbólico.

Nota: A quien no le guste usar la terminal para crear enlaces simbólicos tiene que
saber que también se pueden crear usando el entorno gráfico de su entorno de
escritorio.

Una vez creado el enlace simbólico volveremos a comprobar el número de inodo del
archivo original ejecutando de nuevo el siguiente comando en la terminal:

ls -li carta.txt

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Ahora el resultado obtenido es el siguiente:

Como se puede ver, el número de inodo sigue siendo el mismo que antes, pero, a
diferencia del caso anterior, a pesar de crear el enlace simbólico sigue habiendo
únicamente 1 archivo/entrada apuntando hacia el mismo inodo.

Seguidamente comprobaremos el número de inodo del enlace duro que hemos creado
ejecutando el siguiente comando en la terminal:

ls -li /home/manuel/Escritorio/enlacecarta

El resultado obtenido es el siguiente:

Después de estudiar los resultados vemos que el archivo original y el enlace que
hemos creado tienen un inodo diferente.

Por lo tanto no están apuntando hacia el mismo contenido ya que el archivo original
carta.txt está apuntando hacia un contenido almacenado en nuestro disco duro, y el
enlace simbólico está apuntado hacia el nombre del archivo original.

Identificar enlaces simbólicos

Desde la terminal (lanzando un ls -l para que muestre información adicional), se ve


que en el bit de tipo en lugar de aparecer una d (de Directorio), aparece una l (de
Link).

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Crear enlaces simbólicos recursivos de todo un directorio

Acabamos de ver cómo crear un enlace simbólico de un único archivo. En el caso que
queramos crear enlaces simbólicos en masa de la totalidad de contenido almacenado
en un directorio también lo podemos realizar muy fácilmente.

Imaginemos que en la ubicación /home/manuel/vacaciones dispongo de una serie de


fotos y quiero crear un enlace simbólico de la totalidad de fotos de esta carpeta en mi
escritorio. Para conseguir mi objetivo tan solo hay que ejecutar el siguiente comando
en la terminal:

cp -rs /home/manuel/Escritorio/vacaciones /home/manuel/Escritorio/vacaciones/

Cada una de las partes del comando usado para crear los enlaces simbólicos
recursivos tienen el siguiente significado:

cp: Se refiere al comando copy que es el que usaremos para crear los enlaces
simbólicos de forma masiva.

-rs: La letra r hace referencia a recursivo y la letra s hace referencia a enlace


simbólico. Por lo tanto añadiendo estas 2 opciones hacemos que se copien la totalidad
de archivos de una carpeta a otra mediante la creación de varios enlaces simbólicos.

/home/manuel/Escritorio/vacaciones: Es la ruta de la carpeta que contiene las fotos


originales.

/home/manuel/Escritorio/vacaciones: Es la ruta de la carpeta en la que queremos


crear los enlaces simbólicos.

Propiedades de los enlaces simbólicos

1- Cualquier cambio que se introduzca en el archivo original o en el enlace


simbólico afecta a los dos por igual.
2- En el caso de borrar el archivo original carta.txt se borra completamente el
archivo.
3- Si por lo contrario borramos el enlace simbólico, aun podremos seguir
accediendo al contenido mediante el archivo original.
4- En contraposición con los enlaces duros, podemos crear enlaces
simbólicos de carpetas sin ningún tipo de problema. De esta forma
podremos usar los enlaces simbólicos como un atajo para acceder a un
directorio determinado.
5- Los enlaces simbólicos se pueden usar en cualquier ubicación, partición y
sistema de archivos de nuestro disco duro.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

6- Si cambiamos de ubicación el archivo original se romperá el enlace


simbólico.

¿Qué utilidades podemos dar a los enlaces simbólicos?

La utilidad básica que todo el mundo acostumbra a dar a los enlaces simbólicos es la
de crear atajos para acceder a ciertos archivos o a ciertos directorios, pero aparte de
esta utilidad hay otras como por ejemplo las siguientes:

1- Para expandir sistemas de archivos. Así por ejemplo si estamos trabajando


en un sistema de archivos ext4, podemos utilizar enlaces simbólicos para
acceder a archivos o ubicaciones en otro sistema de archivos como por
ejemplo NTFS. Esta operación únicamente se puede realizar mediante el
uso de enlaces simbólicos y permite extender fácilmente nuestro sistema
de archivos.
2- Creando un enlace simbólico conseguiremos que un archivo esté disponible
en 2 ubicaciones diferentes de forma fácil y sencilla.
3- Cuando copiamos un archivo de gran tamaño de un sitio a otro tardamos
una cantidad importante de tiempo. Usando un enlace simbólico podemos
evitar esta espera y de paso ahorraremos espacio en nuestro disco duro.
4- Si queremos que Copy, Dropbox, o un software similar sincronice una
carpeta o archivo de nuestro equipo, lo podemos hacer a través de un
enlace simbólico. De este modo podemos sincronizar archivos y carpetas
en Dropbox sin que el archivo que queremos subir a Dropbox esté dentro
de la carpeta de Dropbox.

ELIMINAR ENLACES DUROS Y ENLACES SIMBÓLICOS

Si en algún momento precisamos eliminar alguno de los enlaces que hemos hemos
creado lo podemos hacer de forma muy fácil. Así por ejemplo si queremos eliminar el
enlace simbólico que creamos anteriormente tan solo tenemos que ejecutar el
siguiente comando en la terminal:

unlink /home/manuel/Escritorio/enlacecarta

Cada una de las partes usadas en el comando para eliminar enlaces tiene el siguiente
significado

unlink: Es la parte del comando encargada de eliminar el enlace.

/home/manuel/Escritorio/enlacecarta: Es la ruta y nombre del enlace que queremos


eliminar.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Nota:

• El procedimiento para eliminar enlaces es el mismo independientemente del


tipo de enlace a eliminar.
• Quien lo prefiera también puede eliminar los enlaces de forma gráfica mediante
su gestor de archivos.

VÍDEO EXPLICATIVO

Clicar para ver el vídeo explicativo

Ubicación y propósito de archivos y directorios importantes definidos en el FHS

El Estándar de Jerarquía del Sistema de Archivos (o FHS, del inglés Filesystem


Hierarchy Standard) es una norma que define los principales directorios y sus
contenidos en GNU/Linux y otros sistemas operativos similares a Unix.

En agosto de 1993, inició el proceso para desarrollar un estándar de sistema de


archivos jerárquico, como un esfuerzo para reorganizar las estructuras de archivos y
directorios de GNU/Linux.

Todos los archivos y directorios aparecen debajo del directorio raíz ≪/≫, aun si están
almacenados en dispositivos físicamente diferentes.

Ing. Willian Manuel Tapia Cruz


Sistemas Operativos Abiertos IES CIBERTEC

Ing. Willian Manuel Tapia Cruz

También podría gustarte