next up previous
Next: Modificando los permisos a Up: Explorando el sistema de Previous: Listando los contenidos de

Creando enlaces hard y enlaces simbólicos.

La utilidad ln te permite crear dos tipos de  enlacesenlaces a tus ficheros y directorios. Un enlace es un nombre alternativo que podemos asignar a un fichero o a un directorio ya existente. La finalidad de esto es el realizar cómodamente el acceso a dichos ficheros o directorios sin necesidad de referenciarlos con su camino completo a través del sistema de ficheros. Por ejemplo, supongamos que en nuestro lugar de trabajo tenemos varias estaciones de trabajo bajo UNIX y que una de ellas es un servidor de  servidor de ficherosservidor de ficheros. Lo más normal es que cada estación realice un login en su disco  disco localdisco local. Si somos programadores interesa que nuestros programas fuente no estén duplicados en cada disco local, ya que además de desperdiciar espacio, deberíamos de recordar sobre que máquina estuvimos trabajando la última vez y copiar los fuentes sobre la estación de trabajo de ese día. UNIX permite compartir sistemas de ficheros de forma que una estación exporta su disco local (o parte de él) para que otras estaciones lo puedan ver como un disco local. Una vez que es posible acceder a un disco  disco remotodisco remoto (montado) se puede crear un  enlace simbólicoenlace simbólico desde nuestro  home directoryhome directory en la estación sobre la que estamos trabajando ha cia el camino completo a través del sistema de ficheros, donde se encuentran nuestros programas fuente. Si realizamos este proceso en cada estación de trabajo a la que tenemos acceso, parece que en cada home directory de cada máquina hay un directorio local que contiene los fuentes, cuando lo que realmente existe en un enlace simbólico desde cada uno de los home directory sobre el sistema de ficheros soportado por el servidor de ficheros. Por ejemplo:



width 3pt
width .3pt415ptgogh: > pwd
/usr/users/v      (nuestro home directory)
gogh: > ls -l
total 3
drwxr-xr-x   2 vi       wheel        1024 Feb 14 01:50 bin/
-rw-rw-r-   1 vi       wheel         325 Apr  2 18:49 carta
lrwxrwxrwx   1 vi       wheel          21 Feb 14 01:48 doc -> /home1/paralelo/v/doc/
lrwxrwxrwx   1 vi       wheel          19 Feb 14 01:52 f -> /home1/paralelo/v/f/
-rw-rw-r-   1 vi       wheel         227 Mar 15 20:21 un_fichero_ASCII
gogh: >
width .3pt
depth .3pt width -3pt

donde hay dos enlaces simbólicos creados en nuestro home directory sobre un disco remoto montado sobre gogh como home1. La diferencia principal existente entre un  enlace simbólicoenlace simbólico y un enlace físico es que este segundo no puede establecerse entre sistemas de ficheros. La utilidad que crea enlaces es:

ln -sf nombre_de_fichero_o_directorio [nombre_del_enlace]
Como ya hemos dicho, la opción -s crea enlaces simbólicos a través de sistemas de ficheros (distintas particiones de un mismo disco o discos distintos). Como ejemplo:



width 3pt
width .3pt415ptgogh: > ls -l
total 3
drwxr-xr-x   2 vi       wheel        1024 Feb 14 01:50 bin/
-rw-rw-r-   1 vi       wheel         325 Apr  2 18:49 carta
lrwxrwxrwx   1 vi       wheel          21 Feb 14 01:48 doc -> /home1/paralelo/v/doc/
lrwxrwxrwx   1 vi       wheel          19 Feb 14 01:52 f -> /home1/paralelo/v/f/
-rw-rw-r-   1 vi       wheel         227 Mar 15 20:21 un_fichero_ASCII
gogh: > ln -s /home1/paralelo/v/cintas music
gogh: > ls -l
total 3
drwxr-xr-x   2 vi       wheel        1024 Feb 14 01:50 bin/
-rw-rw-r-   1 vi       wheel         325 Apr  2 18:49 carta
lrwxrwxrwx   1 vi       wheel          21 Feb 14 01:48 doc -> /home1/paralelo/v/doc/
lrwxrwxrwx   1 vi       wheel          19 Feb 14 01:52 f -> /home1/paralelo/v/f/
lrwxrwxrwx   1 vi       wheel          23 Apr  8 23:11 music -> /home1/paralelo/v/music/
-rw-rw-r-   1 vi       wheel         227 Mar 15 20:21 un_fichero_ASCII
gogh: >
width .3pt
depth .3pt width -3pt

Es posible borrar un enlace físico o simbólico sin que se borre físicamente la información sobre el sistema de ficheros:



width 3pt
width .3pt415ptgogh: > rm music
gogh: > ls -l
total 3
drwxr-xr-x   2 vi       wheel        1024 Feb 14 01:50 bin/
-rw-rw-r-   1 vi       wheel         325 Apr  2 18:49 carta
lrwxrwxrwx   1 vi       wheel          21 Feb 14 01:48 doc -> /home1/paralelo/v/doc/
lrwxrwxrwx   1 vi       wheel          19 Feb 14 01:52 f -> /home1/paralelo/v/f/
-rw-rw-r-   1 vi       wheel         227 Mar 15 20:21 un_fichero_ASCII
gogh: > ls -l /home1/paralelo/v/cintas
total 14
-rw-rw-rw-   1 vi       wheel        7068 May 18  1994 cintas
gogh: >
width .3pt
depth .3pt width -3pt

next up previous
Next: Modificando los permisos a Up: Explorando el sistema de Previous: Listando los contenidos de
Vicente González Ruiz
1998-07-13