next up previous contents index
Siguiente: Enlaces simbólicos. Subir: Gestión de enlaces a Anterior: Gestión de enlaces a   Índice General   Índice de Materias


Enlaces rígidos

El comando ln se utiliza para crear múltiples enlaces a un fichero. Por ejemplo, digamos que tiene un fichero llamado foo en un directorio. Usando ls -i, puede ver el número de inodo de este fichero.
\begin{tscreen}
/home/larry\char93  ls -i foo \\
22192 foo \\
/home/larry\char93
\end{tscreen}
Aquí, foo tiene un número de inodo de 22192 en el sistema de ficheros. Puede crear otro enlace a foo, llamado bar, como sigue:
\begin{tscreen}
/home/larry\char93  ln foo bar
\end{tscreen}
Con ls -i, puede comprobar que los dos ficheros tienen el mismo número de inodo.
\begin{tscreen}
/home/larry\char93  ls -i foo bar \\
22192 bar\ \ \ 22192 foo \\
/home/larry\char93
\end{tscreen}
Ahora, especificando tanto foo como bar se accederá al mismo fichero. Si hace cambios en foo, esos cambios aparecen también en bar. A todos los efectos, foo y bar son el mismo fichero.

A este tipo de enlaces se les conoce como enlaces rígidos porque directamente crean el enlace al inodo. Tenga en cuenta que puede crear enlaces rígidos sólo cuando estén en el mismo sistema de ficheros; los enlaces simbólicos (ver debajo) no tienen esta restricción.

Cuando borra un fichero con rm, realmente sólo está borrando uno de los enlaces a ese fichero. Si usa la orden
\begin{tscreen}
/home/larry\char93  rm foo
\end{tscreen}
entonces sólo el enlace llamado foo se borra, bar todavía existirá. Un fichero sólo se borra realmente del sistema cuando no tiene enlaces. Normalmente, los ficheros tienen un único enlace, por lo que usando la orden rm se borra el fichero. Sin embargo, si un fichero tiene múltiples enlaces, usando rm sólo se borrará un enlace simple; para borrar el fichero, deberá borrar todos los enlaces a él.

El comando ls -l muestra el número de enlaces a un fichero (entre otra información).
\begin{tscreen}
/home/larry\char93  ls -l foo bar \\
\verb!-rw-r--r-- 2 root ro...
...-rw-r--r-- 2 root root 12 Aug 5 16:50 foo! \\
/home/larry\char93
\end{tscreen}
La segunda columna del listado, ''2'', especifica el número de enlaces al fichero.

Asi resulta que un directorio no es realmente más que un fichero que contiene información sobre asociaciones enlaces-a-inodos. Además, cada directorio contiene al menos dos enlaces rígidos: ''.'' (un enlace apuntando a él mismo), y ''..'' (un enlace apuntando a su directorio padre). El enlace ''..'' del directorio raíz (/) simplemente vuelve a apuntar a /. (En otras palabras, el directorio padre del directorio raíz es él mismo.)


next up previous contents index
Siguiente: Enlaces simbólicos. Subir: Gestión de enlaces a Anterior: Gestión de enlaces a   Índice General   Índice de Materias
Ismael Olea 2002-09-26