En este breve tutorial, repasaremos los conceptos básicos de los enlaces simbólicos en Linux y crearemos un script bash simple para obtener el objetivo del enlace simbólico.
Tipos de enlaces simbólicos
Hay principalmente dos tipos de enlaces simbólicos, a saber:
Enlaces duros:
Los enlaces duros son consejos directos para un archivo o directorio dentro de un sistema de archivos. Los enlaces duros son creables solo en el mismo sistema de archivos que el archivo de destino.
Enlaces suaves:
Por otro lado, los enlaces suaves son atajos indirectos en un archivo o directorio y pueden existir en cualquier lugar dentro de un sistema de archivos. Los enlaces suaves pueden apuntar a archivar en un sistema de archivos diferente.
Cómo crear enlaces simbólicos
Para crear un enlace simbólico en Linux, usamos el comando LN. Ejecutar el comando sin opciones crea un enlace difícil al archivo de destino especificado.
La sintaxis general para el comando ln es:
LN [Opciones]
Como se mencionó, el comando anterior creará un enlace difícil al archivo de destino. Para crear un enlace simbólico suave, use la opción -s como:
ln -s [opción]
Ejemplo 1
Tomemos la autenticación del archivo.Iniciar sesión /var /log. Podemos crear un enlace al archivo en nuestro directorio de inicio utilizando el comando como:
ln -s/var/log/auth.Auth de registros.registro
El comando anterior creará un enlace que apunta al archivo principal. Podemos verificar esto usando el comando LS:
ls -la
Ejemplo #2
También puede realizar una operación similar en un directorio. Para crear un enlace a /var /log, usamos el comando:
LN -S /var /log log
Del mismo modo, se crea un enlace suave que apunta al directorio objetivo /var /log:
ls -la
Cómo eliminar los enlaces simbólicos
Para eliminar un enlace simbólico, usamos el comando unlink seguido de la ruta al enlace simbólico para eliminar.
Por ejemplo:
Unlink ~/log
NOTA: Si elimina el archivo o directorio de destino, elimine el enlace simbólico porque dejarlo crea un enlace roto.
Cómo obtener un archivo o directorio de objetivos de enlace simbólico
Cada enlace simbólico apunta a un archivo o directorio objetivo (a menos que esté roto). Para obtener el archivo de destino/directorio de un enlace simbólico, utilizamos este comando que muestra el objetivo de un enlace simbólico.
Por ejemplo, para obtener el objetivo de la autenticación.Archivo de registro que creamos en una sección anterior, podemos hacer:
Autorización de readlink.registro
/val/log/auth.registro
Un script bash simple para obtener enlaces simbólicos
Usando los conceptos anteriores, podemos ensamblar un script bash simple que acepta una ruta y enumera todos los enlaces simbólicos y sus archivos de destino o directorio.
Un script simple como el que se proporciona a continuación debe hacer el truco.
#!/bin/bash
Echo "Proporcione el directorio para evaluar:"
Leer Target_dir
CD $ Target_dir
enlaces = $ (encontrar . -maxdepth1 -type l -ls | Awk 'imprimir $ 11')
Para enlaces en enlaces
hacer
echo "$ enlace -> $ (readlink $ link)"
hecho
El script comienza pidiendo al usuario el directorio que evalúe. Luego, el script va al directorio proporcionado y encuentra todos los enlaces simbólicos dentro del directorio, y pasa la salida a AWK.
AWK analiza la salida y localiza solo los enlaces simbólicos y los guarda a una variable llamada enlaces.
Luego creamos un bucle que toma cada enlace en los enlaces y evalúa su valor de destino utilizando el comando readlink.
Finalmente, hacemos eco del enlace simbólico y el directorio objetivo. A continuación se muestra una salida de ejemplo:
En el ejemplo anterior, encontramos todos los enlaces simbólicos en el directorio /etc e imprimimos su archivo o directorio de destino.
Conclusión
En este tutorial, discutimos los conceptos básicos del uso de enlaces simbólicos en Linux. Luego creamos un script simple para encontrar enlaces simbólicos en un directorio especificado y mostrar su fuente y objetivo.
Gracias por leer!