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 partición o en uno diferente.
En esta guía, le mostraremos cómo eliminar (eliminar) enlaces simbólicos en sistemas Linux/UNIX utilizando el rm
, unlink
y find
comandos.
Antes de comenzar #
Para eliminar un enlace simbólico, debe tener permisos de escritura en el directorio que contiene el enlace simbólico. De lo contrario, obtendrá el error "Operación no permitida".
Cuando elimina un enlace simbólico, el archivo al que apunta no se ve afectado.
Usa el ls -l
Comando para verificar si un archivo dado es un enlace simbólico y para encontrar el archivo o directorio al que apunta el 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 rm
El comando elimina los archivos y directorios dados.
Para eliminar un enlace simbólico, invoque el rm
comando seguido del nombre del enlace simbólico como argumento:
rm symlink_name
Si tiene é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 hacerlo, pase los nombres de los enlaces simbólicos como argumentos, separados por espacios:
rm symlink1 symlink2
Para recibir un aviso antes de eliminar el enlace simbólico, use -i
opción:
rm -i symlink_name
Para confirmar escriba y
y presiona Enter
.
rm: remove symbolic link 'symlink_name'?
Si el enlace simbólico apunta a un directorio, no agregue el /
barra inclinada 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 rm
El comando asume que el archivo es un directorio. El error ocurre porque, cuando se usa sin -d
o -r
opción, rm
no se pueden 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 unlink
El comando elimina un archivo dado. A diferencia de rm
, unlink
acepta un único argumento.
Para eliminar un enlace simbólico, ejecute unlink
comando seguido del nombre del enlace simbólico como argumento:
unlink symlink_name
Si el comando se ejecuta correctamente, no muestra ningún resultado.
No agregue el /
barra inclinada final al final del nombre del enlace simbólico porque unlink
no se pueden eliminar directorios.
Buscar y eliminar enlaces simbólicos rotos #
Si elimina o mueve el archivo de origen a una ubicación diferente, el archivo simbólico quedará colgado (roto).
Para encontrar todos los enlaces simbólicos rotos en un directorio determinado, 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.
Si desea excluir los enlaces simbólicos que están contenidos en los subdirectorios, pase -maxdepth 1
opción para find
:
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 usa -delete
opción de find
comando:
find /path/to/directory -xtype l -delete
Conclusión #
Para eliminar un enlace simbólico, utilice el rm
o unlink
comando seguido del nombre del enlace simbólico como argumento. Al eliminar un enlace simbólico que apunta a un directorio, no agregue una barra inclinada al final del nombre del enlace simbólico.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.