Androide

Cómo eliminar (eliminar) enlaces simbólicos en Linux

Linux. Enlaces Simbólicos.

Linux. Enlaces Simbólicos.

Tabla de contenido:

Anonim

Un enlace simbólico, también conocido como enlace simbólico, es un tipo especial de archivo que apunta a otro archivo o directorio. Es algo así como un acceso directo en Windows. Un enlace simbólico puede apuntar a un archivo o directorio en el mismo sistema de archivos o en una partición diferente.

En esta guía, le mostraremos cómo eliminar (eliminar) enlaces simbólicos en sistemas Linux / UNIX utilizando los comandos rm , unlink y find .

Antes de que empieces

Para eliminar un enlace simbólico, debe tener permisos de escritura en el directorio que contiene el enlace simbólico. De lo contrario, recibirá el error "Operación no permitida".

Cuando elimina un enlace simbólico, el archivo al que apunta no se ve afectado.

Use el ls -l para verificar si un archivo dado es un enlace simbólico y para encontrar el archivo o directorio al que apunta ese enlace simbólico.

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

El primer carácter "l" indica que el archivo es un enlace simbólico. El símbolo "->" muestra el archivo al que apunta el enlace simbólico.

Eliminar enlaces simbólicos con rm

El comando rm elimina los archivos y directorios dados.

Para eliminar un enlace simbólico, invoque el comando rm seguido del nombre del enlace simbólico como argumento:

rm symlink_name

En caso de éxito, el comando sale con cero y no muestra ningún resultado.

Con rm puede eliminar más de un enlace simbólico a la vez. Para ello, pase los nombres de los enlaces simbólicos como argumentos, separados por espacio:

rm symlink1 symlink2

Para que se le solicite antes de eliminar el enlace simbólico, use la opción -i :

rm -i symlink_name

Para confirmar, escriba y y presione Enter .

rm: remove symbolic link 'symlink_name'?

Si el enlace simbólico apunta a un directorio, no agregue la barra / final al final. De lo contrario, recibirá un error:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

Si el nombre del argumento termina con / , el comando rm supone que el archivo es un directorio. El error ocurre porque, cuando se usa sin la opción -d o -r , rm no puede eliminar directorios.

Para estar seguro, nunca -r opción al eliminar enlaces simbólicos con rm . Por ejemplo, si escribe:

rm -f symlink_to_dir/

El contenido del directorio de destino se eliminará.

Eliminar enlaces simbólicos con unlink

El comando de unlink elimina un archivo dado. A diferencia de rm , unlink acepta solo un argumento.

Para eliminar un enlace simbólico, ejecute el comando unlink seguido del nombre del enlace simbólico como argumento:

unlink symlink_name

Si el comando se ejecuta con éxito, no muestra ningún resultado.

No agregue la barra diagonal / final al final del nombre del enlace simbólico porque unlink no puede eliminar directorios.

Buscar y eliminar enlaces simbólicos rotos

Para buscar todos los enlaces simbólicos rotos en un directorio dado, ejecute el siguiente comando:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

El comando enumerará todos los enlaces rotos en el directorio y sus subdirectorios.

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

Una vez que encuentre los enlaces simbólicos rotos, puede eliminarlos manualmente con rm o unlink o usar la opción -delete del -delete find :

find /path/to/directory -xtype l -delete

Conclusión

Para eliminar un enlace simbólico, use el comando rm o unlink seguido del nombre del enlace simbólico como argumento. Al eliminar un enlace simbólico que apunta a un directorio, no agregue una barra diagonal al nombre del enlace simbólico.

rm desvincular encontrar terminal