Tema de Jannah La licencia no está validada. Vaya a la página de opciones del tema para validar la licencia. Necesita una sola licencia para cada nombre de dominio.

Una forma eficaz de detectar y eliminar fácilmente enlaces simbólicos rotos

Cómo limpiar enlaces simbólicos rotos: La forma correcta y la mejor manera

Es posible que en ocasiones observes que algunos archivos o carpetas de tu sistema no se abren, aunque siguen apareciendo en el explorador de archivos. Esto suele deberse a la presencia de enlaces simbólicos que han perdido su destino original, conocidos como enlaces corruptos o rotos. Estos enlaces no llevan a ninguna parte, pero permanecen en el sistema, ocupando espacio y causando problemas al copiar o sincronizar archivos.

53784642004_3a0f518a4b_o Una forma eficaz de detectar y eliminar fácilmente enlaces simbólicos rotos

Afortunadamente, estos enlaces simbólicos dañados se pueden detectar y eliminar en unos pocos pasos sencillos mediante comandos integrados en Linux, macOS e incluso Windows. El proceso es rápido, pero ayuda a mantener un sistema limpio y estable, y evita errores inesperados durante el funcionamiento o las copias de seguridad.

Los enlaces simbólicos son una excelente forma de organizar archivos, pero no son perfectos. Son muy frágiles y es fácil que acaben apuntando a archivos inexistentes. Find puede ayudar con esto, pero existen herramientas de terceros que lo hacen mejor.

Índice del Contenido

¿Qué es un enlace simbólico roto y por qué es importante?

Un enlace simbólico roto indica un archivo que no existe. Esto puede ocurrir de dos maneras:

Crear un enlace a un archivo que nunca existió. Puedes probarlo tú mismo pasando el nombre de un archivo inexistente a `ln`, así: `ln -s archivo-no-existe`.

  • Crear un enlace a un archivo existente y luego eliminarlo, por ejemplo: ln -s archivo enlace-al-archivo; rm archivo.

Estos enlaces simbólicos rotos a veces se denominan «enlaces colgantes» y pueden causar problemas porque pueden dañar otras funciones, independientemente de su propósito original. Los programas no siempre gestionan los enlaces rotos de forma coherente:

linux-broken-link-errors es una forma eficaz de detectar y eliminar fácilmente enlaces simbólicos rotos.

ملاحظة
El programa ls ni siquiera distingue entre enlaces rotos y enlaces normales, lo que dificulta su detección durante su uso.

Muchas herramientas GNU generan un mensaje de error bastante confuso: “Demasiados niveles de enlaces simbólicos”. Esto se explica en la documentación de la función principal de Open Library, que describe el error ELOOP:

[ELOOP]

Al traducir el nombre de la ruta, se encontró una gran cantidad de enlaces simbólicos. Esto se entiende como un enlace simbólico recurrente.

Afortunadamente, el comando file proporciona un error más útil:

Lea también:  Una forma inteligente de reducir el tamaño de los vídeos en tu teléfono sin perder calidad.

linux-file-broken-link es una forma eficaz de detectar y eliminar fácilmente enlaces simbólicos rotos.

Esto tiene sentido porque el propósito principal del comando "file" es proporcionar información sobre el tipo de archivo, mientras que wc y la mayoría de los demás programas intentan realizar otras tareas sobre el contenido de ese archivo.

Los enlaces rotos pueden causar estragos en tu sistema de archivos, ocupando espacio innecesario. También pueden provocar resultados confusos o errores inesperados cuando los programas que trabajan con varios archivos los encuentran. Es fácil perder un enlace roto en lo profundo de una carpeta y luego tener problemas para encontrarlo o tener que buscarlo repetidamente.

نصيحة
Algunos programas indican los enlaces rotos, como eza, que los muestra en rojo:

linux-eza-broken-links-2 Una forma eficaz de detectar y eliminar fácilmente enlaces simbólicos rotos

Cómo encontrar enlaces de caída usando el comando de búsqueda

El comando `find` es una herramienta fiable y esencial para todo tipo de búsquedas de archivos. Tanto si busca archivos modificados recientemente, archivos pertenecientes a un usuario específico o carpetas vacías, existe una forma de utilizarlo. Esto incluye la búsqueda de enlaces simbólicos.

find . -type l

La opción `-type l` restringe las búsquedas a enlaces simbólicos, lo que ayuda a acotar la búsqueda, pero el siguiente reto es identificar los enlaces rotos. La solución depende de la versión de `find` que esté utilizando.

La versión moderna de GNU find es la más útil porque admite la opción -xtype:.

find . -xtype l

La opción -xtype significa, en efecto, "resolver las cadenas de enlaces simbólicos antes de comprobar este tipo". Dado que un archivo solo puede permanecer como enlace si falla esta resolución, los archivos resultantes deben ser enlaces rotos.

Es posible que las versiones antiguas de find, incluida la instalada en macOS Tahoe, no admitan este argumento, por lo que necesitarás una alternativa. Afortunadamente, existe la opción -L. Funciona de forma similar a -xtype, pero no comprueba el tipo de archivo; simplemente intenta resolver los enlaces. Aun así, tendrás que usar la comprobación de tipo -type.

find -L . -type l

Otra diferencia importante es que el comando -L sigue los enlaces simbólicos durante su búsqueda iterativa en las carpetas. Si tienes un enlace extraño en una carpeta profunda que apunta a / (es decir, la raíz), tendrás que buscar en todo el sistema de archivos. Probablemente no quieras hacer eso, por lo que -L no es el comando predeterminado.

Lea también:  Cómo recuperar una cuenta de Facebook a través de amigos 2021

Este problema se puede resolver utilizando el comando find para localizar todos los enlaces simbólicos y, a continuación, utilizando la opción -exec para comprobar si existe cada archivo:

find . -type l -exec test ! -e {} \; -print

Es un poco complicado, pero funciona. La opción «-type l» busca enlaces, como antes; luego, «-exec» ejecuta el comando de prueba con la opción «-e» para buscar archivos faltantes. Finalmente, el comando «print» muestra el nombre del archivo.

Si intentas encontrar enlaces simbólicos rotos en un sistema Linux moderno, el comando `find -xtype l` debería ser suficiente. De hecho, puedes usar el comando `find` para eliminar enlaces simbólicos rotos, nuevamente, utilizando la opción `-exec:`.

find . -xtype l -exec rm {} \;

Pero primero debes consultar estos enlaces, y de nuevo, el comando equivalente en macOS se vuelve más complejo. Podrías crear un alias o una función de shell para no tener que recordarlo. O podrías usar una alternativa mejor…

Utilice el programa de enlaces simbólicos para encontrar y reparar enlaces rotos.

Si los métodos mencionados anteriormente le resultan poco prácticos, o si experimenta problemas constantes con los enlaces simbólicos, debería considerar utilizar Herramienta de enlace simbólico. Este pequeño programa, escrito en C, puede identificar muchos tipos de enlaces problemáticos, incluidos los enlaces rotos.

Debido a su sencillez, no requiere un proceso de instalación complicado, por lo que tendrás que compilarlo desde el código fuente. Afortunadamente, su sencillez también implica que no deberías encontrar ningún problema.

Descarga el repositorio de GitHub del programa. Siguió el proceso de construcción clásico de tres pasos:

./configure
make
make install

نصيحة
El compilador de C no está disponible por defecto para los usuarios de macOS; necesitarán instalar las herramientas de línea de comandos de Apple para crear enlaces simbólicos. Para ello, ejecuten el comando `xcode-select-install`.

Tras instalar el programa, puede ejecutarlo especificando la ruta de la carpeta de búsqueda, por ejemplo:

symlinks ~/

Es posible que no obtengas ningún resultado; por defecto, no duplica los subdirectorios. La opción -r sí lo hace y probablemente revelará muchos enlaces simbólicos problemáticos en tu sistema de archivos. De hecho, cuando ejecuté por primera vez el comando «symlinks -r ~/ | wc -l», ¡mi sistema reportó la asombrosa cantidad de 16 617 enlaces simbólicos! Claramente, mis enlaces simbólicos están mal organizados.

Lea también:  Cómo elegir la barra de sonido adecuada para su televisor

Sin embargo, no todos estos enlaces están rotos. El comando `symlinks` informa de cuatro tipos de enlaces incompletos:

  • Deshabilitado (colgando).
  • Absoluto: Estos enlaces pueden causar problemas en los puntos de conexión.
  • Desordenado: Enlaces que contienen . o / que son innecesarios en su ruta.
  • Largo: Enlaces que contienen extensiones innecesarias en su ruta. Solo se muestran al usar la opción -s.

Estos problemas surgen porque el programa que se usa para crear enlaces, `ln`, no comprueba ni aplica la ruta que se le pasa. Su mejor opción es `-w`, que avisa si se crea un enlace pendiente, pero lo crea igualmente. El comando `ln` no ofrece ninguna protección contra estos otros tipos de enlaces problemáticos.

Los enlaces simbólicos también pueden ayudarle a limpiar estos enlaces, mediante dos tipos de reparación.

Primero, está la opción -d, que elimina los enlaces pendientes. Si buscas simplificar tu vida, esta es la forma más rápida de deshacerte de estos archivos innecesarios. Conviene revisar primero la lista de enlaces pendientes, ya que se pueden reparar manualmente. Por ejemplo, si cambiaste el nombre de un directorio y rompiste varios enlaces al hacerlo, puedes reconstruirlos uno por uno.

La segunda opción es -c, que corrige enlaces absolutos, enlaces no estructurados y enlaces largos mediante la opción -s. En mi opinión, esta opción es controvertida; este tipo de enlaces simbólicos son menos problemáticos que los enlaces completamente rotos. Solo la usaría si utilizo con frecuencia diferentes puntos de montaje del sistema de archivos para evitar problemas con enlaces absolutos.

Los enlaces simbólicos son una herramienta útil para organizar archivos, pero a veces pueden resultar problemáticos cuando pierden su destino original. Limpiar periódicamente estos enlaces dañados mantiene el sistema ligero y fácil de administrar, y evita errores que podrían ralentizarlo o afectar a las copias de seguridad. Con unos pocos comandos sencillos, podrá restaurar su sistema a su estado óptimo: libre de rutas rotas y listo para funcionar sin problemas.

Ir al botón superior