Cómo encontrar y eliminar enlaces simbólicos rotos en Linux

Con Symlinks, puede tener múltiples puntos de acceso a un archivo sin duplicarlo. Cualquier cambio realizado en el archivo original estará disponible en el enlace simbólico de inmediato. Sin embargo, si mueve o elimina el archivo original, los enlaces simbólicos a ese archivo no se podrán usar o se romperán porque ya no tendrá nada que señalar. El enlace simbólico roto permanece en el sistema y no muestra ningún error hasta que intenta usarlo. Por lo tanto, es mejor eliminar los enlaces simbólicos rotos que apuntan a archivos inexistentes.

Esta publicación cubre cómo encontrar y eliminar enlaces simbólicos rotos en el sistema operativo Linux. Hemos demostrado los comandos que se muestran aquí en Ubuntu 20.04, sin embargo, puede usarlos en cualquier distribución de Linux.

Buscar y eliminar enlaces simbólicos rotos en Linux

En este método, veremos cómo encontrar y eliminar los enlaces simbólicos rotos en un sistema operativo Linux.

Para ver los enlaces simbólicos en el directorio actual, ejecute el siguiente comando:

                      $ ls -l
                    

En el siguiente resultado, puede ver dos enlaces simbólicos; uno apuntando a un archivo y el otro apuntando a un directorio.

Un enlace simbólico se rompe o queda inutilizable cuando el archivo o directorio al que apunta se elimina o se mueve a otra ubicación. Como tenemos 2 Symlinks en el directorio actual. Eliminemos tanto el archivo como el directorio al que apuntan estos enlaces simbólicos.

                      $ rm myfile
                    
                      $ rm -r myonedrive
                    

Ahora, si ejecutamos el comando ls, veremos que los enlaces simbólicos se enumeran en color rojo, lo que indica que son enlaces simbólicos rotos.

Hay otro método para enumerar los enlaces simbólicos rotos en un directorio actual utilizando el comando Buscar. Este comando, en lugar de enumerar todo el contenido del directorio, enumera solo los enlaces simbólicos rotos.

Para encontrar todos los enlaces simbólicos rotos en un directorio específico, use el siguiente comando:

                      $ find /path/to/directory -xtype l
                    

Para encontrar los enlaces simbólicos rotos en el directorio actual de la Terminal, use el siguiente comando:

                      $ find . -xtype l
                    

Este comando enumerará solo los enlaces simbólicos rotos en su directorio actual que puede eliminar uno por uno.

También puede encontrar y eliminar los enlaces simbólicos rotos usando el comando único de la siguiente manera:

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

Este comando encuentra y elimina todos los enlaces rotos del directorio actual. Para verificar si los enlaces rotos se han eliminado, ejecute el siguiente comando:

                      $ find . -xtype l
                    

Verá que ahora no hay ningún enlace simbólico roto, ya que se han eliminado.

Métodos alternativos para eliminar enlaces simbólicos rotos

Hay dos formas más que se pueden usar para eliminar los enlaces simbólicos rotos en un sistema operativo Linux, que son las siguientes:

Usando el comando desvincular

Para eliminar un enlace simbólico roto, escriba unlink seguido del nombre del enlace simbólico de la siguiente manera:

                      $ unlink symlink_name
                    

Uso del comando rm

Para eliminar un enlace simbólico roto, escriba rm seguido del nombre del enlace simbólico de la siguiente manera:

                      $ rm symlink_name
                    

También puede eliminar varios enlaces simbólicos a la vez con el comando rm:

                      $ rm symlink1 symlink2 symlink3
                    

Los enlaces simbólicos rotos deben eliminarse del sistema, ya que apuntan a archivos o directorios inexistentes. En esta publicación, cubrimos cómo encontrar y eliminar los enlaces simbólicos rotos en el sistema operativo Linux de tres maneras diferentes.

Related Posts