Los enlaces simbólicos tambien conocidos como symlinks o symbolic links son un tipo especial de archivo que nos sirve para hacer referencia a un archivo o a otro directorio usando el mismo inodo – los inodo almacenan la información de un objeto dentro de el sistema de archivos, el objeto puede ser un archivo, dispositivo, socket, pipe, etc -.
Crear enlace simbólico
En mi caso, creare un symlink que me permita tener la misma información en dos lugares distintos: Desktop y Documents. Como ya es costumbre lo haremos desde la consola. Primero crearé en Desktop un directorio llamado SymLink, para posteriormente crear el symlink:
[jpacheco@aex-infra Desktop]$ ln -s /home/jpacheco/Desktop/SymLink/ /home/jpacheco/Documents/SymLink
Listemos el contenido de las carpetas Desktop/SymLink y Documents/SymLink para aseguarnos de que el enlance simbólico se creo apropiadamente. Los archivos son los mismos (fecha y tamaño).
total 12
drwxrwxr-x 2 jpacheco jpacheco 4096 Aug 24 19:46 .
drwxr-xr-x. 3 jpacheco jpacheco 4096 Aug 24 19:45 ..
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:44 test
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:46 test3.txt
-rw-rw-r– 1 jpacheco jpacheco 34 Aug 24 19:44 test.txt
[jpacheco@aex-infra ~]$ ls -al Documents/SymLink/
total 12
drwxrwxr-x 2 jpacheco jpacheco 4096 Aug 24 19:46 .
drwxr-xr-x. 3 jpacheco jpacheco 4096 Aug 24 19:45 ..
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:44 test
-rw-rw-r– 1 jpacheco jpacheco 0 Aug 24 19:46 test3.txt
-rw-rw-r– 1 jpacheco jpacheco 34 Aug 24 19:44 test.txt
[jpacheco@aex-infra ~]$
Eliminar un enlace simbólico
Eliminar un enlace simbólico no puede ser mas fácil, solo requerimos ejecutar el comando rm desde el directorio donde se aloja el enlace simbólico, en nuestro ejemplo: ~/Documents/:
[jpacheco@aex-infra Desktop]$ ln -s /home/jpacheco/Desktop/SymLink/ /home/jpacheco/Documents/SymLink
Listemos el contenido de las carpetas Desktop/SymLink y Documents/SymLink para aseguarnos de que el enlance simbólico se creo apropiadamente. Los archivos son los mismos (fecha y tamaño).
[jpacheco@aex-infra Documents]$ rm SymLink
Es importante que te asegures de no agregar “/” al final del nombre del enlace, si lo haces recibiras un mensaje de error indicando que el directorio no existe.