Cordiales saludos
Enlaces simbólicos
Trabajaremos hoy con los enlaces simbólicos. Específicamente los enlaces blando / sym-link o puedes encontrarlos como soft links.
Los enlaces simbólicos no son más que accesos directos a un directorio en específico o a un archivo. Un archivo o carpeta que apunta a otro para acceder a este último de forma más cómoda o de acuerdo al interés del usuario. De acuerdo a mi ubicación dentro del sistema de archivos creo un archivo o directorio que apuntará a otro archivo o directorio que esté en otra ubicación.
Enlaces a un Directorio
Nuestro sistema operativo cuando es instalado ya tiene algunos enlaces simbólicos en el directorio Raíz. Estos son: bin, lib, lib64, libx32, sbin y lib32 los cuales apuntan a directorios con el mismo nombre del enlace dentro de la carpeta usr/.
Con el Comando
$ ls -F
Puedo ver los enlaces con los nombres terminados con @.
rafael@HP:/$ ls -F
bin@ etc/ lib64@ mnt/ run/ sys/
boot/ home/ libx32@ opt/ sbin@ tmp/
cdrom/ lib@ lost+found/ proc/ snap/ usr/
dev/ lib32@ media/ root/ srv/ var/
Con esta captura de pantalla se muestra mucho mejor.
Con el comando file, ya visto con anterioridad podemos detectar que tipo de archivos son, colocando los respectivos enlaces.
rafael@HP:/$ file bin lib lib64 libx32 sbin lib32
bin: symbolic link to usr/bin
lib: symbolic link to usr/lib
lib64: symbolic link to usr/lib64
libx32: symbolic link to usr/libx32
sbin: symbolic link to usr/sbin
lib32: symbolic link to usr/lib32
Con esta captura de pantalla se muestra mucho mejor.
Crearemos nuestro primer enlace simbólico
El ejercicio consiste en crear un directorio como enlace simbólico en nuestro home/ que será un acceso directo al directorio .gitlab/linux_curso/
Aquí estamos en nuestro home y con ls -Fm nos damos cuenta que no tenemos ningún enlace simbólico. Para ilustrar mejor el ejemplo.
.gitlab/linux_curso/ será el directorio a enlazar.
Para crear el enlace usamos:
rafael@HP:~$ ln -s .gitlab/linux_curso/ ir_al_curso
ln : Comando para crear el enlace simbólico
-s : opción para especificar que es una enlace simbólico blando.
.gitlab/linux_curso/ : es El Directorio a enlazar
ir_al_curso : es el nombre del enlace que crearemos
Luego con ls -F nos percatamos que aparece nuestro recién creado enlace: ir_al_curso@
En el primer recuadro rojo podemos ver la l que identifica a los enlaces simbólicos. Y en el recuadro rojo más grande está en enlace con una flecha -> a que directorio enlaza.
Además del comando ls -F también podemos revisar los enlaces simbólicos con file.
Aquí concluye el ejercicio. Probemos si funciona entrando al enlace ir_al_curso y mostramos su contenido.
Podemos demostrar que el contenido de la carpeta ir_al_curso es el mismo que .gitlab/linux_curso/.
Modificando el contenido, tanto del enlace simbólico como el del directorio a enlazar.
Si creamos un archivo dentro del enlace, en este caso: en ir_al_curso crearemos el archivo creando.txt
Lo veremos reflejado, automáticamente en el directorio .gitlab/linux_curso/.
Igualmente si creamos un archivo en .gitlab/linux_curso/, en este caso: creando_otro.txt lo veremos reflejado en: ir_al_curso
Enlaces a un archivo
Funciona igual que cuando creamos el enlace a un directorio. Cuando el enlace es a un directorio, lógicamente involucra a todos los archivos que este contenga.
En cambio cuando el enlace es a un solo archivo, la relación sería uno a uno.
En este ejercicio cree un archivo de texto enlace_archivo.txt dentro de la carpeta: .gitlab/linux_curso/ el cual tiene como contenido la frase: Mi enlace.
El enlace simbólico lo cree dentro de mi home con el mismo nombre del archivo: enlace_archivo.txt. con el siguiente comando:
ln -s .gitlab/linux_curso/enlace_archivo.txt
Si modificamos el archivo tanto en el archivo original como en el enlace: se verá reflejado en ambos archivos.
Aquí vemos que la linea agregada, aparece en nuestro enlace.
Si deseamos colocarle al enlace un nombre diferente, agregamos el nombre al final. En este caso cree el enlace: enlace.txt.
Con un poco de practica podemos sacarle provecho a los enlaces simbólicos. Como vimos podemos crear tanto enlaces a un directorio como a un archivo en específico.
En la próxima publicación seguiremos tratando este interesante tema.
Te invito a practicar.
IMPORTANTE: Los comando vistos aquí y en próximas publicaciones están limitados para mostrarlos y conceptualizarlos para nuestro quehacer diario. Cada comando tiene muchas opciones que debemos investigar por nuestra propia cuenta cuando estemos trabajando con ellos. Aprovechemos el internet para conocer en profundidad el comando que estemos estudiando y en primer orden no olvidemos lo potente y todo lo que nos brinda el comando man para conocer la sintaxis y todo lo relacionado con todos los comandos que tenemos en nuestro sistema sin recurrir a internet.
Ejercicio 08
Código
Creación del script
rafael@HP:~$
rafael@HP:~$ cd .gitlab/linux_curso/
rafael@HP:~/.gitlab/linux_curso$
rafael@HP:~/.gitlab/linux_curso$ ls bash_*.sh
bash_01.sh bash_03.sh bash_05.sh bash_07.sh
bash_02.sh bash_04.sh bash_06.sh
rafael@HP:~/.gitlab/linux_curso$ vim bash_08.sh
Edición del Código
1 #!/bin/bash
2 # Ejercicio bash_08.sh
3
4 # Concatenar texto con echo
5
6 echo "Este" "es" "un" "texto" "concatenado"
Ejecución
rafael@HP:~$ cd .gitlab/linux_curso/
rafael@HP:~/.gitlab/linux_curso$ bash bash_08.sh
Este es un texto concatenado
rafael@HP:~/.gitlab/linux_curso$
Ejercicio 09
Codigo
rafael@HP:~$
rafael@HP:~$ cd .gitlab/linux_curso/
rafael@HP:~/.gitlab/linux_curso$ ls -m bash_0*.*
bash_01.sh, bash_02.sh, bash_03.sh, bash_04.sh,
bash_05.sh, bash_06.sh, bash_07.sh, bash_08.sh
rafael@HP:~/.gitlab/linux_curso$ vim bash_09.sh
Edición del Código
1 #!/bin/bash
2 # Ejercicio bash_09.sh
3
4 # Comillas dobles con echo
5
6 echo "Mensaje \"Resaltado\" con comillas dobles"
7
Ejecución
rafael@HP:~$ cd .gitlab/linux_curso/
rafael@HP:~/.gitlab/linux_curso$ bash bash_09.sh
Mensaje "Resaltado" con comillas dobles
rafael@HP:~/.gitlab/linux_curso$
rafael@HP:~/.gitlab/linux_curso$
Ya que estamos avanzando cada día más, a partir de ahora, y por lógica debemos trabajar en nuestro sistema linux como un profesional. Te recomiendo que utilices el comando rm con la opción -i.
Tanto para un simple archivo...
Como para un directorio.
Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...
--- AVISO: Es importante que nuestra información personal (documentos, imágenes, fotos, etc) estén respaldadas en en otro medio físico o en la nube. No solamente porque estemos haciendo este curso sino como práctica diaria.---