Tutorial de enlace simbólico en Linux: cómo crear y eliminar un enlace simbólico

Un enlace simbólico (también llamado enlace simbólico) es un tipo de archivo en Linux que apunta a otro archivo o carpeta en su computadora. Los enlaces simbólicos son similares a los accesos directos de Windows.

Algunas personas llaman a los enlaces simbólicos "enlaces blandos", un tipo de enlace en los sistemas Linux / UNIX, en lugar de "enlaces duros".

Diferencia entre un enlace suave y un enlace duro

Los enlaces blandos son similares a los accesos directos y pueden apuntar a otro archivo o directorio en cualquier sistema de archivos.

Los vínculos físicos también son accesos directos para archivos y carpetas, pero no se puede crear un vínculo físico para una carpeta o archivo en un sistema de archivos diferente.

Veamos los pasos necesarios para crear y eliminar un enlace simbólico. También veremos qué son los enlaces rotos y cómo eliminarlos.

Cómo crear un enlace simbólico

La sintaxis para crear un enlace simbólico es:

ln -s   

lnes el comando de enlace. La -sbandera especifica que el enlace debe ser suave. -stambién se puede ingresar como -symbolic.

De forma predeterminada, el lncomando crea vínculos físicos. El siguiente argumento es path to the file (or folder)que desea vincular. (Es decir, el archivo o carpeta para el que desea crear un acceso directo).

Y el último argumento es el path to linkmismo (el atajo).

Cómo crear un enlace simbólico para un archivo: comando de ejemplo

ln -s /home/james/transactions.txt trans.txt 

Después de ejecutar este comando, podrá acceder al archivo /home/james/transactions.txtcon trans.txt. Cualquier modificación trans.txttambién se reflejará en el archivo original.

Tenga en cuenta que este comando de arriba crearía el archivo de enlace trans.txten su directorio actual. También puede crear un archivo vinculado en un enlace de carpeta esto:

ln -s /home/james/transactions.txt my-stuffs/trans.txt 

Debe haber un directorio ya llamado "my-stuffs" en su directorio actual; de lo contrario, el comando arrojará un error.

Cómo crear un enlace simbólico para una carpeta: comando de ejemplo

Similar a lo anterior, usaríamos:

ln -s /home/james james 

Esto crearía una carpeta con enlace simbólico llamada 'james' que contendría el contenido de /home/james. Cualquier cambio en esta carpeta vinculada también afectará a la carpeta original.

Cómo eliminar un enlace simbólico

Antes de que desee eliminar un enlace simbólico, es posible que desee confirmar que un archivo o carpeta es un enlace simbólico, para no alterar sus archivos.

Una forma de hacer esto es:

ls -l  

Ejecutar este comando en su terminal mostrará las propiedades del archivo. En el resultado, si el primer carácter es una letra L minúscula ('l'), significa que el archivo / carpeta es un enlace simbólico.

También verá una flecha (->) al final que indica el archivo / carpeta al que apunta simlink.

Hay dos métodos para eliminar un enlace simbólico:

Cómo utilizar Desvincular para eliminar un enlace simbólico

La sintaxis es:

unlink  

Esto elimina el enlace simbólico si el proceso es exitoso.

Incluso si el enlace simbólico tiene la forma de una carpeta, no agregue '/', porque Linux asumirá que es un directorio y unlinkno puede eliminar directorios.

Cómo usar rm para eliminar un enlace simbólico

Como hemos visto, un enlace simbólico es simplemente otro archivo o carpeta que apunta a un archivo o carpeta original. Para eliminar esa relación, puede eliminar el archivo vinculado.

Por tanto, la sintaxis es:

rm  

Por ejemplo:

rm trans.txt rm james 

Tenga en cuenta que intentar hacerlo rm james/resultaría en un error, porque Linux asumirá que 'james /' es un directorio, lo que requeriría otras opciones como ry f. Pero eso no es lo que queremos. Un enlace simbólico puede ser una carpeta, pero solo nos preocupa el nombre.

El principal beneficio de rmover unlinkes que puede eliminar varios enlaces simbólicos a la vez, como puede hacerlo con los archivos.

Cómo encontrar y eliminar enlaces rotos

Los enlaces rotos se producen cuando el archivo o la carpeta al que apunta un enlace simbólico cambia de ruta o se elimina.

Por ejemplo, si 'transacciones.txt' se mueve de /home/jamesa /home/james/personal, el enlace 'trans.txt' se rompe. Cada intento de acceder al archivo resultará en un error "No existe tal archivo o directorio". Esto se debe a que el enlace no tiene contenido propio.

Cuando descubra enlaces rotos, puede eliminar fácilmente el archivo. Una forma sencilla de encontrar enlaces simbólicos rotos es:

find /home/james -xtype l 

Esto mostrará una lista de todos los enlaces simbólicos rotos en el jamesdirectorio, desde archivos hasta directorios y subdirectorios.

Pasar la -deleteopción los eliminará así:

find /home/james -xtype l -delete 

Terminando

Los enlaces simbólicos son una característica interesante de los sistemas Linux y UNIX.

Puede crear enlaces simbólicos de fácil acceso para hacer referencia a un archivo o carpeta que de otro modo no sería conveniente acceder. Con algo de práctica, comprenderá cómo funcionan estos en un nivel intuitivo y lo harán mucho más eficiente en la administración de sistemas de archivos.