En un artículo anterior, expliqué qué es un enlace simbólico en Linux. Los enlaces simbólicos, los enlaces simbólicos o los enlaces blandos se utilizan para crear accesos directos a otros archivos en Linux. Los enlaces simbólicos se usan mucho para enlazar bibliotecas en Linux.
Cuando se elimina el archivo original al que apunta el enlace, el enlace se convierte en enlace colgante. Mantener tales enlaces puede no ser una buena idea.
Ahora surge la pregunta, ¿cómo encuentras los enlaces simbólicos rotos en Linux? Algunas distribuciones muestran enlaces rotos en diferentes colores, pero esa no es una forma de encontrar todos esos enlaces rotos.
Encontrar enlaces simbólicos rotos en Linux
En este tutorial, le mostraré un par de formas de encontrar enlaces colgantes en Linux.
Método 1. Use el comando buscar para listar todos los enlaces simbólicos rotos
El sorprendente comando de búsqueda también se puede usar para encontrar enlaces blandos rotos. Las versiones más recientes de este comando brindan una opción dedicada para esta tarea.
Para encontrar todos los enlaces colgantes en el directorio actual y sus subdirectorios, puede usar el comando de búsqueda como este:
find . -xtype l
Su salida mostrará una lista de todos los enlaces rotos:
find . -xtype l
./target_link2
./newdir/new_dir/link_dir
Método 2:Usar el comando symlinks para encontrar enlaces simbólicos rotos
También puede usar un comando dedicado llamado symlinks para manejar enlaces colgantes.
Es posible que deba instalar el comando de enlaces simbólicos. Está disponible en Debian. Si está utilizando Ubuntu, deberá habilitar el repositorio Universe.
sudo apt install symlinks
Una vez instalado, puede usarlo de la siguiente manera:
symlinks [options] path_to_directory
Entonces, si tiene que encontrar los enlaces rotos en el directorio actual, puede usarlo así:
symlinks .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
¿Notaste algo? Enumera solo un enlace roto, mientras que el comando de búsqueda tenía dos enlaces rotos. Es porque si desea buscar recursivamente, deberá especificar la opción:
symlinks -r directory
No es eso. También puede optar por eliminar todos los enlaces rotos con la opción -d del comando de enlaces simbólicos.
symlinks -d .
dangling: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
deleted: /home/abhishek/tutorials/target_link2 -> newdir/test_dir/myzip
De hecho, los enlaces simbólicos se pueden usar para administrar correctamente los enlaces blandos en su sistema. Puede advertirle sobre enlaces entre sistemas de archivos, cambiar enlaces desordenados a enlaces largos o acortarlos.
En Linux, puede haber varias formas de realizar una tarea. Encontrar enlaces simbólicos rotos es lo mismo. Te mostré dos formas, pero ciertamente puede haber otras formas. Si tiene algún otro comando favorito para administrar enlaces colgantes, compártalo con nosotros en la sección de comentarios.
En un tema relacionado, es posible que desee leer sobre el concepto de enlaces duros en Linux.