Ln
Enlaces duros y Enlaces simbolicos
Un symlink (también llamado enlace simbólico) es un tipo de archivo en Linux que apunta a otro archivo o una carpeta en tu computador. Los enlaces simbólicos son similares a los accesos directos en Windows.
Algunas personas llaman a los enlaces simbólicos "soft links" - un tipo de enlace en los sistemas Linux/UNIX - opuestos a los "hard links".
Anste que nada lo mejor
¿Qué son los enlaces duros?
Los enlaces duros tienen el mismo número de inodos.
El comando ls -l muestra todos los enlaces con la columna de enlace que muestra el número de enlaces.
Los enlaces tienen contenido de archivo real
Eliminar cualquier enlace, solo reduce el número de enlaces pero no afecta a los otros enlaces.
No puede crear un vínculo físico para un directorio.
Incluso si se elimina el archivo original, el enlace seguirá mostrando el contenido del archivo.
En pocas palabras, un enlace físico es solo un nombre adicional para un archivo ya existente en sistemas basados en UNIX
¿Qué son los enlaces suaves?
Los enlaces blandos tienen diferentes números de inodos.
El comando ls -l muestra todos los enlaces con el valor de la segunda columna 1 y el enlace apunta al archivo original.
Soft Link 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.
Un Soft Link puede enlazar a un directorio.
En términos simples, un enlace flexible suele ser un alias para el archivo original que redirige al archivo o directorio de destino cuando se accede a través de la ruta especificada en el asunto del enlace flexible. Es similar a la opción de acceso directo en los sistemas operativos Windows.
Cómo crear un enlace simbólico para un archivo
La sintaxis para crear un enlace simbólico es:
ln
es el comando de enlace. La bandera -s
especifica que el enlace debe ser soft. Las -s
también pueden ser introducidas como -symbolic
.
Por defecto, el comando ln
crea hard links. El siguiente argumento es la ruta del archivo (o carpeta)
que quieres enlazar. (Es decir, el archivo o carpeta para el acceso directo que quieres crear).
El último argumento es la ruta para enlazarse
a sí mismo (el acceso directo).
Para que quede calor aqui tienes un ejemplo en el que se crea un enlace simbolico al fichero /home/Desktop/fichero.txt
y se le da el nombre enlace.txt
.
En el caso de qu quiereas ubicarlo en otra carpeta y no en el direcotrio actual:
Cómo crear un enlace simbólico para una carpeta
Al igual que para los arhcivos usaremos:
Esto crearía una carpeta simbólica llamada mis cosas
en el escritorio que contendría el contenido de /home/mis-cosas
. Cualquier cambio en esta carpeta vinculada también afectará a la carpeta original.
Flags de ln
Las opciones de enlace simbólico se denominan switches de línea de comando. Aquí están los más comunes y sus descripciones:
Flags | Descripción |
-backup[=CONTROL] | copia de seguridad de cada archivo de destino existente |
-d, -F, –directory | el superusuario puede intentar un enlace duro |
-f, –force | se elimina el archivo de destino existente |
-I, –interactive | preguntar antes de eliminar archivos de destino |
-L, –logical | objetivos de deferencia que son enlaces simbólicos |
-n, –non-dereference | los enlaces simbólicos al directorio se tratan como archivos |
-P, –physical | convierte enlaces duros directamente a enlaces simbólicos |
-r, –relative | crea enlaces simbólicos relativos a la ubicación del enlace |
-s, -symbol | hacer enlaces simbólicos en lugar de enlaces duros |
-S, –suffix=SUFFIX | anula el sufijo de copia de seguridad habitual |
-v, –verbose | imprime el nombre de cada archivo vinculado |
Cómo usar unlink para eliminar un enlace simbólico
La sintaxis es:
Cómo usar rm para remover un symlink
Como hemos visto, un enlace simbólico es sólo otro archivo o carpeta que apunta a un archivo o carpeta original. Para eliminar esa relación, tú puedes eliminar el archivo enlazado.
Por lo tanto, la sintaxis es:
En el caso de los direcotrios, si estos tiene contenido en su interior, el comando te dara error y por ello deveras uilizar los flags -rf. Para mas informacion, puedes acceder al apartado de rm.
Cómo encontrar y eliminar los enlaces rotos
Los enlaces rotos se producen cuando el archivo o la carpeta a la que apunta un enlace simbólico cambia de ruta o se elimina. Enotnces siempre que intentes acceder a ese enlace te dara un error de "No existe tal archivo o directorio". Esto se debe a que el enlace no tiene contenido propio.
Cuando tú descubras enlaces rotos, tú puedes borrar el archivo fácilmente. Una forma fácil de encontrar enlaces simbólicos rotos es:
Esto listará todos los enlaces simbólicos rotos en el directorio Desktop
- desde los archivos a los directorios y sub-directorios.
Con en flag -d
o -delete podras borrarlos:
Bibliografia
Last updated