Cómo eliminar un enlace simbólico en Linux con un ejemplo
Los enlaces simbólicos o enlaces blandos funcionan como punteros a otro archivo. Tenga en cuenta que solo hay una copia del archivo real en el disco duro y, de esta manera, puede ahorrar un valioso espacio en el disco duro simplemente creando un enlace. Eliminar un enlace simbólico es lo mismo que eliminar un archivo o directorio real.
Un enlace simbólico es un enlace que hace referencia al nombre de un archivo. Su ventaja más importante es que se puede usar para hacer referencia a un archivo que se encuentra en cualquier lugar, incluso en una computadora al otro lado del mundo. El enlace simbólico seguirá funcionando. Sin embargo, la mayor desventaja es que el enlace simbólico depende naturalmente del archivo original. Hay algunas propiedades de los enlaces simbólicos
- Los enlaces tienen diferentes números de inodo: cada archivo o directorio de Linux (desde un punto de vista técnico, no hay una diferencia real entre ellos) tiene un inodo y este inodo contiene todos los metadatos del archivo (es decir, todos los datos administrativos necesarios para leer un el archivo se almacena en su inodo)
ls -l
el comando muestra todos los enlaces con el valor de la segunda columna1
y el enlace apunta al archivo original.- El enlace contiene la ruta del archivo original y no el contenido.
- La eliminación del enlace flexible no afecta nada, pero cuando se elimina el archivo original, el enlace se convierte en un enlace colgante que apunta a un archivo inexistente.
rm y desvincular comandos para eliminar el enlace simbólico
Los enlaces simbólicos se pueden eliminar con dos comandos: rm y unlink. Puede utilizar cualquiera de los siguientes comandos para eliminar enlaces simbólicos.
- rm: es el comando de terminal para eliminar cada archivo dado, incluidos los enlaces simbólicos. Debido a que un enlace simbólico se considera un archivo en Linux, puede eliminarlo con el comando rm.
# rm linkfile
- desvincular: elimina un único nombre de archivo especificado, incluidos los enlaces simbólicos.
# unlink linkfile
Para eliminar el archivo de enlace simbólico, debe enumerarlo con ls -l
comando de la siguiente manera
# ls -l pac lrwxrwxrwx 1 root root 9 May 18 01:57 pac -> /root/pac
pac -> /root/pac
muestra la ruta del archivo original que es /root/pac
y el 1
El valor de la segunda columna indica que el archivo es un archivo de enlace simbólico.
Warning: The command rm and unlink delete files so should be used carefully, make sure you have a proper backup before proceeding.
Eliminar archivo de enlace simbólico – Ejemplo
Para ver cómo podemos eliminar el archivo de enlace simbólico, primero crearemos un enlace suave a continuación
# ln -s /root/script /home/papso
Para enumerar cómo se ve el enlace suave:
# ls -l script lrwxrwxrwx 1 root root 12 May 18 02:32 script -> /root/script
Para eliminar el enlace simbólico, puede usar su ruta relativa o absoluta, pero para limitar el error, le recomiendo que use una ruta relativa.
Con camino absoluto tenemos
# rm /home/papso/script
o puedes hacer
# unlink /home/papso/script
Podemos comprobar lo siguiente
# ls -l /home/papso/script ls: cannot access script: No such file or directory
Con la ruta relativa, primero debemos movernos al directorio del archivo de enlace simbólico
# cd /home/papso
Ahora puedes usar uno de los comandos anteriores
# unlink script
y consultar con
# ls -l script ls: cannot access script: No such file or directory
Tenga cuidado cuando use el comando de desvinculación porque puede eliminar un archivo normal. Si escribe un nombre de archivo normal existente en lugar de un nombre de archivo de enlace simbólico, el archivo normal se eliminará. Vea abajo
# ls -l file1 -rw-r--r-- 1 root root 0 May 18 02:51 file1
Puedes ver eso archivo1 no es un vínculo simbólico. Ahora usaremos el comando desvincular y veremos el resultado.
# unlink file1
# ls -l file1 ls: cannot access file1: No such file or directory
Tu ves eso archivo1 no existe. Ha sido eliminado
Eliminar directorio de enlaces simbólicos – Ejemplo
Para eliminar un directorio de enlace simbólico, usaremos el mismo procedimiento que el anterior. Crearemos un enlace suave:
# ls -ld pac drwxr-xr-x 2 root root 4096 Apr 6 22:54 pac
pac es la carpeta que se utilizará para la prueba.
# ln -s /root/pac /home/papso/test
Controlar
# ls -l /home/papso/test/pac lrwxrwxrwx 1 root root 9 May 18 03:00 /home/papso/test/pac -> /root/pac
Ahora, para eliminar el directorio de enlace simbólico de prueba, usaremos la ruta relativa. Nos hemos mudado a /home/papso/test
carpeta
# rm pac
o
# unlink pac
Comprobaremos ahora con ruta absoluta
# ls -l /home/papso/test/pac ls: cannot access /home/papso/test/pac: No such file or directory
Desvincular comando y comando rm sin -R
La opción no elimina el directorio normal. Los dos comandos eliminan el enlace simbólico del directorio porque se considera un archivo, por lo tanto, cuando use el comando rm o unlink para eliminar un enlace simbólico de un directorio, asegúrese de no terminar el destino con un /
personaje porque eso creará un error.
Vea abajo
$ mkdir dirfoo $ ln -s dirfoo lnfoo
Vamos a revisar
# ls -l lnfoo lrwxrwxrwx 1 root root 6 May 18 03:16 lnfoo -> dirfoo
Ahora intentemos eliminar el enlace simbólico
# rm lnfoo/ rm cannot remove directory ‘lnfoo/’ : Is a directory
Porque el /
al final indica un directorio, el comando no funciona
# unlink lnfoo/ unlink: cannot unlink ‘lnfoo/’: Not a directory
Ahora intentemos sin el /
carácter al final del nombre del archivo
# unlink lnfoo
Ahora comprobemos que el archivo existe.
# ls -l lnfoo ls: cannot access lnfoo: No such file or directory
Puedes ver que el enlace simbólico ha sido eliminado.
Conclusión
Básicamente, un enlace simbólico facilita la búsqueda de los archivos que necesita. Puede crear enlaces simbólicos para los archivos, directorios y también puede utilizarlos para facilitar la vida de los usuarios. El enlace simbólico se considera un archivo normal porque puede eliminarlo con el comando rm básico. No olvide la mayor desventaja que implica que el enlace simbólico depende naturalmente del archivo original.
Leer también: