2011-10-05 03:28:14 +0000 2011-10-05 03:28:14 +0000
412
412

¿"unión de directorios" vs "enlace simbólico de directorios"?

En el contexto de NTFS:

MKLINK [[/D] | [/H] | [/J]] Link Target

/D Crea un enlace simbólico de directorios. Por defecto es un enlace simbólico de archivo. /H Crea un enlace duro en lugar de un enlace simbólico. /J Crea una unión de directorios. Link especifica el nuevo nombre del enlace simbólico.
Target especifica el camino (relativo o absoluto) al que se refiere el nuevo enlace.

  1. ¿No es un empalme de directorios exactamente lo mismo que un enlace simbólico **directorio?

  2. Dado que un “directorio” es en realidad sólo un fichero, ¿cuál sería la diferencia entre un enlace simbólico de directorio y un enlace simbólico de fichero?

Respuestas (3)

382
382
382
2011-10-05 03:43:56 +0000

Una unión no es definitivamente lo mismo que un enlace simbólico de directorio, aunque se comportan de manera similar. La principal diferencia es que, si estás mirando un servidor remoto, las uniones se procesan en el servidor y los enlaces simbólicos de directorios se procesan en el cliente. Véase también el comentario de Matthew sobre el hecho de que esto significa que los enlaces simbólicos en el sistema de archivos local pueden apuntar a sistemas de archivos remotos.

Supongamos que en una máquina llamada Alice se pone un punto de unión c:\myjp y un enlace simbólico de directorio c:\mysymlink, ambos apuntando a c:\targetfolder. Mientras estés usando Alice no notarás mucha diferencia entre ellos. Pero si estás usando otra máquina llamada Bob, entonces el punto de unión

\Alice\c$\myjp apuntará a \Alice\c$\targetfolder

pero el enlace simbólico

\Alice\c$\mysymlink apuntará a \Bob\c$\targetfolder

(Advertencia: por defecto, el sistema no sigue los enlaces simbólicos en los volúmenes remotos, por lo que en la mayoría de los casos el segundo ejemplo dará como resultado o bien “Archivo no encontrado” o bien “El enlace simbólico no puede seguirse porque su tipo está desactivado. ”

La diferencia entre un enlace simbólico de directorio y un enlace simbólico de archivo es simplemente que uno representa un directorio y otro representa un archivo. Dado que el destino del enlace no tiene por qué existir en el momento de crear el enlace, el sistema de archivos debe saber si debe indicar a las aplicaciones que se trata de un directorio o no.

Cabe señalar también que la creación de un enlace simbólico requiere un privilegio especial (por defecto, sólo disponible para procesos elevados), mientras que la creación de un enlace sólo requiere el acceso al sistema de archivos.

65
65
65
2015-10-22 19:03:16 +0000

La charla compleja daña el cerebro… Me gustan los gráficos:

Asume que cualquier MyLink es un enlace simbólico y cualquier MyJunc es una unión que apunta a Target as created.

por ejemplo.

mklink /D MyLink C:\T_Dir para crear un enlace simbólico al directorio de destino

mklink /J MyJunc C:\T_Dir para crear una unión de directorio al directorio de destino

Donde la sintaxis es mklink [/J,/D] [link path] [target path] como se escribe en la máquina local

  • *
link path | target path | When accessed ..
              | | (locally) | (remotely)
              | | |
C:\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
C:\MyJunc | C:\T_Dir | C:\T_Dir | [leads to remote]
              | |
\Svr\MyLink | C:\T_Dir | C:\T_Dir | [leads back to local]
\Svr\MyJunc | C:\T_Dir | ***Must create and point local***
              | |
C:\MyLink | \Sv2\T_Dir | \Sv2\T_Dir | Error*1
C:\MyJunc | \Sv2\T_Dir | ***Error - Must point local***
              | |
\Svr\MyLink | \Sv2\T_Dir | Error*1
\Svr\MyJunc | \Sv2\T_Dir | ***Must create link using target device***

Error*1 - Si desbloqueas el acceso a los enlaces simbólicos remotos en tu máquina local, entonces esto funcionaría.. pero sólo en la máquina local donde está desbloqueado

55
55
55
2018-02-02 16:30:06 +0000

Los enlaces simbólicos tienen más funcionalidad, mientras que los empalmes parecen ser casi una característica heredada debido a sus limitaciones, pero las implicaciones de seguridad de estas limitaciones son específicamente la razón por la que un empalme podría ser preferido a un enlace simbólico. La selección a distancia hace que los enlaces simbólicos sean más funcionales, pero también aumenta su perfil de seguridad, mientras que los empalmes podrían considerarse más seguros porque están limitados a los caminos locales. Por lo tanto, si quieres un enlace local y puedes vivir con un camino absoluto, probablemente es mejor con un cruce; de lo contrario, considera un enlace simbólico por sus habilidades adicionales.

** La declaración de la diferencia de velocidad/complejidad viene de una declaración no verificada en la entrada de Wikipedia en los puntos de reparación de NTFS (una buena lectura). *

  • *

Otras comparaciones de enlaces NTFS

Aquí hay algunas otras comparaciones sobre el tema, pero estas pueden ser engañosas al considerar los enlaces porque no enumeran los beneficios que enumero arriba. Tomado de aquí (una buena lectura introductoria)

De SS64 página en MKLink


Comentarios sobre Terminología

Las funciones son Enlaces Simbólicos

Los Enlaces Simbólicos y los Enlaces Simbólicos realmente hacen lo mismo de la misma manera (puntos de reparación), aparte de las mencionadas diferencias en la forma en que se procesan. De hecho, técnicamente, una unión es un enlace simbólico, y a veces la documentación podría llamar a una unión un enlace simbólico, como es el caso aquí . Por lo tanto, eso es algo que hay que tener en cuenta en cuanto a la terminología.

NTFS

Aunque la OP especifica esto, vale la pena señalar que “enlace simbólico” es un término muy general que no es específico de NTFS. Así que, para ser específicos, esta comparación es sobre los Enlaces Simbólicos NTFS vs. Enlaces Simbólicos NTFS.