El comando ln (link) crea enlaces entre ficheros.
Los enlaces son tipos especiales de ficheros que apuntan a otros ficheros ya existentes. Hay dos tipos de enlaces: duros y simbólicos (también llamados "blandos"). Un enlace duro es un enlace a un conjunto de datos ya existentes y accesibles a través de lo que llamamos "fichero" (es decir, es un enlace a los datos almacenados en la unidad de disco). Una vez creado un enlace duro, existirán dos ficheros apuntando a los mismos datos en el disco. Podemos eliminar uno de ellos (incluso el original) y los datos seguirán estando accesibles a través del segundo, y solo eliminando todos los ficheros que apunten a dichos datos (el fichero original y los enlaces duros) se eliminarán también los datos.
Los enlaces simbólicos, por el contrario, son enlaces a ficheros que ya existen (no a los datos que contienen). En este caso, si eliminamos el fichero original, el enlace simbólico dejará de dar acceso a los datos.
La sintaxis básica de este comando es:
ls fichero1 fichero2
...que crea un enlace duro llamado "fichero2" apuntando a los mismos datos que el "fichero1" (ambos ficheros no tienen por qué estar en el mismo directorio, aunque sí deberán compartir la misma partición en el disco. Así usado, el comando ln tiene exactamente el mismo comportamiento que el comando link.
La sintaxis de este comando cuando se desea crear un enlace simbólico es:
ls -s fichero1 fichero2
...que crea un enlace simbólico llamado "fichero2" que apunta al "fichero1". En este caso, ambos ficheros no tienen por qué compartir partición ni disco.
En este ejemplo se crea un enlace duro al fichero "documento.odt" en la carpeta "Pictures", enlace que recibe el nombre "doc2.odt":