Hay 2 tipos de enlaces que puedes crear dentro de Linux:
- Enlaces duros
- Enlaces simbólicos
Un enlace simbólico es muy parecido a un acceso directo de escritorio dentro de Windows. El enlace simbólico simplemente apunta a la ubicación de un archivo.
Eliminar un enlace simbólico no tiene ningún efecto en el archivo físico al que apunta el enlace.
Un enlace simbólico puede apuntar a cualquier archivo en el sistema de archivos actual o incluso a otros sistemas de archivos. Esto lo hace más flexible que un enlace duro.
Un enlace duro es en realidad el mismo archivo al que se vincula pero con un nombre diferente. La forma más fácil de pensarlo es la siguiente:
Imagina que naciste con el nombre de Robert. Otras personas pueden conocerte como Robbie, Bob, Bobby o Rob. Cada persona estaría hablando de la misma persona.
Cada enlace agrega 1 a un contador de enlaces, lo que significa que para eliminar el archivo físico, debe eliminar todos y cada uno de los enlaces.
¿Por qué usar enlaces duros?
Los enlaces duros proporcionan una forma eficiente de organizar archivos. La forma más fácil de describir esto es con un viejo episodio de Sesame Street.
Bert le dijo a Ernie que pusiera en orden todas sus cosas y Ernie se ocupó de su tarea. En primer lugar, decidió ordenar todas las cosas rojas. "El camión de bomberos es rojo". Así que Ernie guarda el camión de bomberos.
A continuación, Ernie decide guardar todos los juguetes con ruedas. El camión de bomberos tiene ruedas. Así que Ernie ordenó el coche de bomberos.
No hace falta decir que Bert regresa a casa para encontrar exactamente el mismo desorden que antes, pero Ernie había guardado el camión de bomberos media docena de veces.
Imagina que el camión de bomberos era solo una imagen de un camión de bomberos. Podría tener diferentes carpetas en su máquina de la siguiente manera:
- Fotos de cosas rojas.
- Fotos de vehiculos
- Fotos de servicios de emergencia.
Ahora puede crear una copia de la foto y colocarla en cada una de las carpetas. Esto significa que tiene tres copias del mismo archivo que ocupan tres veces el espacio.
La categorización de fotos haciendo copias de ellas puede no ocupar demasiado espacio, pero si intentara lo mismo con los videos, reduciría significativamente su espacio en el disco.
Un enlace duro no ocupa espacio en absoluto. Por lo tanto, podría almacenar el mismo video en varias categorías diferentes (es decir, por año, género, reparto, directores) sin reducir el espacio en el disco.
Cómo crear un enlace duro
Puede crear un enlace fijo utilizando la siguiente sintaxis:
En ruta / a / archivo / ruta / a / disco / enlace
Por ejemplo, en la imagen de arriba tenemos una carpeta de música de Alice Cooper llamada Trash en la ruta / home / gary / Music / Alice Cooper / Trash. En esa carpeta, hay 10 canciones, una de las cuales es el veneno clásico.
Ahora Poison es una pista de rock, así que creamos una carpeta llamada Rock debajo de la carpeta de música y creamos un enlace físico a Poison escribiendo el siguiente archivo:
En "01 - Poison.mp3" "~ / Music / rock / Poison.mp3"
Esta es una buena manera de organizar la música.
Cómo saber la diferencia entre un enlace duro y un enlace simbólico
Puede saber si un archivo tiene un enlace fijo utilizando el comando ls:
ls -lt
Un archivo estándar sin enlaces se verá como sigue
-rw-r - r-- 1 gary gary 1000 dic 18 21:52 poison.mp3
Las columnas son las siguientes:
- -rw-r - r-- = permisos
- 1 = número de enlaces
- gary = grupo
- gary = propietario
- 1000 = tamaño de archivo
- 18 de diciembre = fecha
- 21:52 = tiempo
- poison.mp3 = nombre de archivo
Si esto fuera un enlace duro, la salida se vería de la siguiente manera:
-rw-r - r-- 2 gary gary 1000 Dic 18 21:52 poison.mp3
Observe que la columna del número de enlaces muestra 2. Cada vez que se crea un enlace fijo, ese número aumentará.
Un enlace simbólico se verá como sigue:
-rw-r - r-- 1 gary gary 1000 Dic 18 21:52 poison.mp3 -> poison.mp3
Se puede ver claramente que un archivo apunta a otro.
Cómo encontrar todos los enlaces duros a un archivo
Todos los archivos en su sistema Linux contienen un número de inodo que identifica de manera única al archivo. Un archivo y su enlace duro contendrán el mismo inodo.
Para ver el número de inodo de un archivo, escriba el siguiente comando:
ls -i
La salida para un solo archivo será la siguiente:
1234567 nombre de archivo
Para encontrar los enlaces duros de un archivo, solo tiene que hacer una búsqueda de archivos para todos los archivos con el mismo inodo (es decir, 1234567).
Puedes hacerlo con el siguiente comando:
encontrar ~ / -xdev -inum 1234567