Todos los que estaban acostumbrados a Windows pueden imaginar qué son los enlaces simbólicos y cómo se usan. Por otro lado, el concepto de enlace rígido es extraño a Windows (¿estoy en lo correcto?).
Me gustaría saber cuáles son los usos típicos de los enlaces duros en Linux. Ya he visto diferentes publicaciones que describen la diferencia en cómo funcionan. Lo que pregunto es cuáles son algunas situaciones típicas en las que un usuario estaría mejor usando enlaces duros en lugar de enlaces simbólicos.
symbolic-link
hard-link
Que hacer
fuente
fuente
Respuestas:
Utilizo un enlace duro donde necesito un solo archivo en dos o más lugares, predigo que algún día querré eliminar una de las ubicaciones y puedo olvidar que tengo un enlace al archivo. Esto me impide terminar con un enlace simbólico a un archivo que ya no existe.
Aclaración:
Un nombre de archivo es, de hecho, un enlace duro al archivo. Por lo tanto, cada archivo tiene al menos un enlace duro, que es lo que normalmente consideramos como "el" nombre del archivo. Cuando elimina un archivo, de hecho está eliminando su enlace duro (de ahí el nombre "eliminar", es decir
rm
, en lugar de "eliminar"). Cuando un archivo tiene su último enlace duro eliminado, el sistema también elimina el archivo.fuente
Los enlaces duros permiten ...
un solo ejecutable para tener más de un nombre.
Ejemplo:
ls -l /bin | grep -v ' 1 ' | sort
enumerará los que están/bin
para usted. Resultado ...En lugar de 3 archivos, bunzip2 bzcat y bzip2 usan el mismo archivo y dentro del archivo se hace una distinción sobre qué hacer. Guarda código y menos código significa menos errores posibles y un mantenimiento más fácil.
un solo archivo al que se accede por varias rutas.
Tomemos, por ejemplo, un administrador de paquetes, que crea un directorio / usr / share / doc / $ packagename para cada paquete que está instalado y dentro de ese directorio un archivo llamado LICENCIA con la información de licencia del paquete. Muchos paquetes en un sistema Linux típico tienen licencia GPL, por lo que en lugar de tener 200 copias de la GPL en el sistema de archivos, solo podría haber una copia y 199 enlaces. ptman @ Serverfault
La razón por la cual los enlaces duros funcionan aquí (y los blandos no): eliminar solo 1 de los enlaces duros no elimina el archivo en sí.
fuente
mv
) es una copia (cp
) + una eliminación (rm
)". Esto es cierto solo cuando el origen y el destino están en diferentes montajes. De lo contrario, amv
mueve solo el nombre, no el archivo.mv
cambia el nombre solamente; El inodo sigue siendo el mismo.