¿Cuáles son los distintos tipos de enlaces en Windows? ¿Cómo los creo?

Respuestas:

57

Tenga en cuenta que la única diferencia desafortunada es que necesita derechos de administrador para crear enlaces simbólicos. Es decir, necesita un aviso elevado. (Una solución alternativa es que SeCreateSymbolicLinkPrivilege se puede otorgar a usuarios normales a través de secpol.msc).

Nota en terminología: los accesos directos de Windows no se denominan "enlaces simbólicos"; son enlaces de shell , ya que son simplemente archivos que el shell de Windows Explorer trata especialmente.


Enlaces simbólicos: ¿Cómo los creo en el sistema de archivos NTFS?

Windows Vista y versiones posteriores admiten enlaces simbólicos de estilo Unix en sistemas de archivos NTFS. Recuerde que también siguen la misma resolución de ruta: los enlaces relativos se crean en relación con la ubicación del enlace, no con el directorio actual. La gente a menudo lo olvida. También se pueden implementar utilizando una ruta absoluta; Por ejemplo, c: \ windows \ system32 en lugar de \ system32 (que va a un directorio system32 conectado a la ubicación del enlace).
Los enlaces simbólicos se implementan utilizando puntos de análisis y generalmente tienen el mismo comportamiento que los enlaces simbólicos de Unix.

Para archivos que puede ejecutar:

mklink  linkname  targetpath

Para directorios puede ejecutar:

mklink / d nombre de enlace  targetpath

Enlaces duros: ¿cómo los creo en sistemas de archivos NTFS?

Todas las versiones de Windows NT admiten enlaces duros de estilo Unix en sistemas de archivos NTFS. Usando mklink en Vista y superior:

mklink / h nombre de enlace  targetpath

Para Windows 2000 y XP, use fsutil.

fsutil hardlink crear nombre de enlace  targetpath

Estos también funcionan de la misma manera que los enlaces duros de Unix: las entradas de múltiples tablas de archivos apuntan al mismo inodo .


Juntas de directorio: ¿Cómo las creo en sistemas de archivos NTFS?

Windows 2000 y versiones posteriores admiten uniones de directorio en sistemas de archivos NTFS. Son diferentes de los enlaces simbólicos en que siempre son absolutos y solo apuntan a directorios, nunca a archivos.

mklink / j nombre de enlace  targetpath

En versiones que no tienen mklink, descargue junctionde Sysinternals:

enlace  nombre de  enlace targetpath

Las uniones se implementan utilizando puntos de análisis .


¿Cómo puedo montar un volumen usando un punto de análisis en Windows?

Para completar, en Windows 2000 y versiones posteriores , los puntos de análisis también pueden apuntar a volúmenes , lo que resulta en montajes de disco persistentes de estilo Unix :

mountvol  punto de montaje \\? \ Volume { VolumeGuid }

Los GUID de volumen se enumeran por mountvol; son estáticos pero solo dentro de la misma máquina.


¿Hay alguna manera de hacer esto en el Explorador de Windows?

Sí, puede usar la extensión de shell Link Shell Extension, que hace que sea muy fácil crear los enlaces que se han descrito anteriormente. Puede encontrar las descargas en la parte inferior de la página .

El sistema de archivos NTFS implementado en NT4, Windows 2000, Windows XP, Windows XP64 y Windows7 admite una instalación conocida como enlaces duros (a los que se hace referencia en este documento como enlaces duros ). Los enlaces duros brindan la capacidad de mantener una sola copia de un archivo pero que aparezca en varias carpetas (directorios). Se pueden crear con el comando POSIX ln incluido en el Kit de recursos de Windows, la utilidad de comando fsutil incluida en Windows XP o mi utilidad de línea de comandos ln.exe .

La extensión permite al usuario seleccionar uno o varios archivos o carpetas, luego, con el mouse, completar la creación de los enlaces necesarios: enlaces duros, uniones o enlaces simbólicos o, en el caso de carpetas, para crear clones que consisten en enlaces duros o simbólicos. LSE es compatible con todas las versiones de Windows que admiten NTFS versión 5.0 o posterior, incluidos Windows XP64 y Windows7. Los enlaces duros, las uniones y los enlaces simbólicos NO son compatibles con los sistemas de archivos FAT, y el proceso de clonación y copia inteligente tampoco es compatible con los sistemas de archivos FAT.

La lata fuente simple se recogió mediante un menú del botón derecho.

Y dependiendo de lo que haya elegido , haga clic derecho en una carpeta de destino y obtenga un menú con opciones.

Esto hace que sea muy fácil crear enlaces. Para obtener una guía extensa, lea la documentación de LSE .

Las descargas se pueden encontrar en la parte inferior de su página .

URL de MSDN relevantes:

Gravedad
fuente
40

En esta respuesta, intentaré describir cuáles son los diferentes tipos de enlaces en la administración de directorios y por qué son útiles y cuándo podrían usarse. Al tratar de lograr una determinada organización en sus volúmenes de archivos, conocer los diferentes tipos y crearlos es un conocimiento valioso.

Para obtener información sobre cómo se puede hacer un determinado enlace, consulte la respuesta de Grawity .

¿Qué es un enlace?

Un enlace es una relación entre dos entidades; En el contexto de la gestión de directorios, un enlace puede verse como una relación entre las dos entidades siguientes:

  1. Tabla de directorio

    Esta tabla realiza un seguimiento de los archivos y carpetas que residen en una carpeta específica.

    Una tabla de directorio es un tipo especial de archivo que representa un directorio (también conocido como carpeta). Cada archivo o directorio almacenado en él está representado por una entrada de 32 bytes en la tabla. Cada entrada registra el nombre, la extensión, los atributos (archivo, directorio, oculto, solo lectura, sistema y volumen), la fecha y hora de la última modificación, la dirección del primer grupo de datos del archivo / directorio y finalmente el tamaño de el archivo / directorio

  2. Cluster de datos

    Más específicamente, el primer clúster del archivo o directorio.

    Un clúster es la cantidad lógica más pequeña de espacio en disco que se puede asignar para contener un archivo.

Lo especial de esta relación es que permite tener solo un grupo de datos pero muchos enlaces a ese grupo de datos, esto nos permite mostrar los datos como presentes en múltiples ubicaciones. Sin embargo, hay varias formas de hacerlo y cada método tiene sus propios efectos.

Para ver de dónde proviene esto, volvamos al pasado ...

¿Qué es un enlace de shell y por qué no siempre es suficiente?

Aunque puede que no te suene familiar, ¡todos lo sabemos! Los accesos directos a archivos son, sin duda, la forma más utilizada de vincular archivos. Estos se encontraron en algunas de las primeras versiones de Windows 9x y han estado allí durante mucho tiempo.

Estos le permiten crear rápidamente un acceso directo a cualquier archivo o carpeta, están diseñados específicamente para almacenar información adicional a lo largo del enlace, como por ejemplo el directorio de trabajo en el que se ejecuta el archivo, los argumentos para proporcionar al programa y las opciones como si maximizar el programa.

La desventaja de este enfoque de enlace es exactamente eso, la información adicional requiere que este tipo de enlace tenga un clúster de datos por sí solo para contener ese archivo. El problema no es necesariamente que ocupe espacio en el disco, sino que se accede indirectamente al enlace, ya que primero se debe solicitar el clúster de datos antes de llegar al enlace real. Si la ruta a la que se hace referencia en el enlace real se ha ido, el enlace shell seguirá existiendo.

Si tuviera que operar en el archivo al que se hace referencia, en realidad primero tendría que averiguar en qué directorio se encuentra el archivo. No puede simplemente abrir el enlace en un editor, ya que estaría editando el .lnkarchivo en lugar del archivo al que está vinculado. Esto bloquea muchos casos de uso posibles para enlaces de shell.

¿Cómo intenta un enlace de punto de unión resolver estos problemas?

Un punto de unión NTFS le permite a uno crear un enlace simbólico a un directorio en las unidades locales , de tal manera que se comporte como un directorio normal. Por lo tanto, tiene un directorio de archivos almacenados en su disco, pero puede acceder a él desde múltiples ubicaciones.

Al eliminar el punto de unión, el directorio original permanece. Al eliminar el directorio original, el punto de unión permanece. Es muy costoso enumerar el disco para verificar los puntos de unión que deben eliminarse. Este es un inconveniente como resultado de su implementación.

El punto de unión NTFS se implementa utilizando puntos de análisis NTFS , que son objetos del sistema de archivos NTFS introducidos con Windows 2000.

Un punto de análisis NTFS es un tipo de objeto del sistema de archivos NTFS. Los puntos de análisis proporcionan una forma de extender el sistema de archivos NTFS agregando información adicional a la entrada del directorio, de modo que un filtro del sistema de archivos pueda interpretar cómo el sistema operativo tratará los datos. Esto permite la creación de puntos de unión, enlaces simbólicos NTFS y puntos de montaje de volumen, y es una característica clave del sistema de almacenamiento jerárquico de Windows 2000.

Así es, la invención del punto de análisis nos permite hacer formas más sofisticadas de vinculación.

El punto de unión NTFS es un enlace suave , lo que significa que solo enlaza con el nombre del archivo. Esto significa que cada vez que se elimina el enlace, los datos originales permanecen intactos ; pero, siempre que se eliminen los datos originales, los datos originales desaparecerán .

¿Puedo también archivos de enlace suave? ¿Hay enlaces simbólicos ?

Sí, cuando apareció Windows Vista, decidieron ampliar la funcionalidad de los objetos del sistema de archivos NTFS proporcionando el enlace simbólico NTFS , que es un enlace flexible que actúa de la misma manera que el punto de unión NTFS. Pero se puede aplicar a archivos y directorios.

De nuevo comparten el mismo comportamiento de eliminación, en algunos casos de uso esto puede ser un problema para los archivos, ya que no desea tener una copia inútil de un archivo dando vueltas. Por eso también se ha implementado la noción de enlaces duros.

¿Qué es un enlace rígido y cómo se comporta en comparación con los enlaces blandos?

Los enlaces duros no son objetos del sistema de archivos NTFS, sino que son un enlace a un archivo (en detalle, se refieren a la entrada MFT ya que almacena información adicional sobre el archivo real). La entrada MFT tiene un campo que recuerda la cantidad de tiempo que un archivo está vinculado de forma permanente. Los datos seguirán siendo accesibles mientras exista al menos un enlace que apunte a ellos.

Por lo tanto, los datos ya no dependen de una sola entrada MFT para existir . Mientras haya un enlace duro, los datos sobrevivirán. Esto evita la eliminación accidental de casos en los que uno no quiere recordar dónde estaba el archivo original.

Podría, por ejemplo, hacer una carpeta con "películas que todavía tengo que ver", así como una carpeta "películas que tomo de vacaciones", así como una carpeta "películas favoritas". Las películas que no sean ninguna de estas se eliminarán correctamente, mientras que las películas que sí lo sean seguirán existiendo incluso cuando haya visto una película.

¿Para qué sirve un enlace de punto de montaje de volumen ?

Es posible que a algunas personas de TI o de negocios no les guste tener que recordar o escribir las diferentes letras de unidad que tiene su sistema. ¿Qué significa M:realmente de todos modos? ¿Fue música? ¿Películas? Modelos? Mapas?

Microsoft tiene los esfuerzos realizados a lo largo del año para tratar de usuarios emigrar lejos de la work in drive C:a work in your user folder. Indudablemente, podría decir que los usuarios con UAC y problemas de permisos son aquellos que no siguen estas pautas, pero eso no hace que se pregunten:

¿Por qué deberías estar viendo todo menos tus archivos personales a diario?

Los puntos de montaje de volumen son la forma profesional de TI de no estar limitados por letras de unidad y de tener una estructura de directorio que tenga sentido para ellos, pero ...

Mis archivos están en diferentes lugares, ¿puedo usar enlaces para juntarlos?

En Windows 7, las bibliotecas se introdujeron exactamente para este propósito. Hecho con archivos de música que se encuentran en esta carpeta, y esa carpeta y esa carpeta . Desde un nivel de vista inferior, una biblioteca se puede ver como enlaces múltiples. Se implementan nuevamente como un objeto del sistema de archivos que puede contener múltiples referencias. Es, en esencia, una relación de uno a muchos ...

Mi cerebro explota ... ¿Puedes resumir cuándo usarlos?

  • Enlaces de acceso directo: utilícelos cuando necesite acceso rápido a un archivo ejecutable o sitio web, un archivo que inicie con mucha frecuencia o cuando necesite especificar parámetros para una aplicación y un archivo por lotes sea una exageración. No lo use cuando tenga la intención de manipular el archivo a través de su acceso directo.

  • Puntos de unión: utilícelos cuando desee que un directorio esté en otro lugar, esto le permite mover directorios a unidades más rápidas o lentas sin perder la capacidad de acceder a la ruta original. Otro uso es cuando desea acceder a un directorio a través de otra ruta. No se pueden usar para vincular a un recurso compartido.

  • Enlaces blandos: utilícelos donde un enlace de acceso directo no sea suficiente, a menudo se usa cuando tiene la intención de manipular el archivo a través de su acceso directo. O cuando desea que el archivo esté en un disco más rápido o más lento sin perder la capacidad de acceder a la ruta original.

  • Enlaces duros: utilícelos cuando solo desee que un archivo desaparezca cuando se eliminen todos los enlaces duros. Esto no se puede usar para carpetas.

  • Puntos de montaje de volumen: utilícelos cuando se quede sin letras de unidad, o cuando encuentre más factible acceder a un volumen a través de una ruta en lugar de a través de una letra de unidad.

  • Bibliotecas: úselas cuando tenga el mismo tipo de archivo en muchas ubicaciones diferentes y necesite que estén juntas, esto es compatible con unidades extraíbles, por lo que es útil hacer que las carpetas en sus unidades extraíbles se muestren entre las de su computadora cuando inserta eso. Puede hacer clic en las carpetas individuales desde el árbol de carpetas debajo de la biblioteca en la vista de árbol, lo que facilita el movimiento de archivos entre ambos.

Tamara Wijsman
fuente
Las bibliotecas son a nivel de shell como enlaces de acceso directo, ¿verdad?
Medinoc
@Medinoc: No, agregan el contenido de varias ubicaciones.
Tamara Wijsman
1
Pero lo hacen a nivel de sistema de archivos de tal manera que, por ejemplo, cmd.exe y dirpueden enumerar el contenido agregado (en cuyo caso, en qué parte del sistema de archivos están, no puedo encontrarlo), o solo agregan a nivel de shell, donde solo el Explorador de Windows y los cuadros de diálogo de archivos pueden mostrarlos? Yo tenía la impresión de que era lo segundo, pero el "No" se opone a esta a menos que escribí mi pregunta equivocada (que quería decir "Las bibliotecas son cáscara de nivel como enlaces de acceso directo son , ¿verdad?" ).
Medinoc
@ Medinoc: Son archivos en C:\Users\{User}\AppData\Roaming\Microsoft\Windows\Libraries.
Tamara Wijsman
1
@Pacerier: Windows utiliza el antiguo sistema de ubicación, donde puede, por ejemplo, mover una carpeta de música desde sus propiedades. Las bibliotecas son una nueva adición, que el sistema operativo apenas usa como resultado. Por lo tanto, dudo si algo se rompería; ya que están destinados únicamente para fines de exhibición, ...
Tamara Wijsman
8

Si está en Windows Vista o posterior, y tiene derechos de administrador, puede consultar el comando mklink (es una herramienta de línea de comandos). No estoy seguro de cómo es realmente el enlace simbólico, ya que Windows le da el pequeño icono de flecha que pone en los accesos directos, pero una prueba rápida de Notepad ++ en un archivo de texto sugiere que podría funcionar para lo que está buscando.

Puede ejecutar mklink sin argumentos para una guía de uso rápida.

Espero que eso ayude.

GeminiDomino
fuente
mklink usa puntos de unión NTFS (creo que así se llaman) para duplicar más o menos perfectamente el enlace al estilo Unix. Sin embargo, Windows puede decir que es un cruce, por lo que le dará el ícono de flecha tradicional. Iirc puede eliminar esto con algunos ajustes de registro, pero no recuerdo dónde.
jcrawfordor
2
@jcrawfordor: Las estructuras de disco son "puntos de análisis" . Las uniones y los enlaces simbólicos son dos tipos diferentes de puntos de análisis; los puntos de montaje de volumen son terceros.
Grawity
1
Y sí, @Gemini, los mklinkenlaces simbólicos hechos a mano se implementaron específicamente para funcionar como los Unix .
Grawity
Gracias Grawity, por la confirmación. Nunca he jugado mucho con ellos, así que solo quería incluir el descargo de responsabilidad.h;)
GeminiDomino
2

este artículo tiene algunas distinciones

Una distinción importante es que, en cierto sentido, las uniones previas a win7 eran un poco inseguras, ya que eliminarlas eliminaría el directorio de destino.

http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/

Un punto de unión nunca debe eliminarse en Win2k, Win2003 y WinXP con Explorer, los comandos del o del / s, o con cualquier utilidad que recorra directorios de forma recursiva ya que estos eliminarán el directorio de destino y todos sus subdirectorios. En su lugar, use el comando rmdir, la utilidad vinculada, o fsutil (si usa WinXP o superior) o una herramienta de terceros para eliminar el punto de unión sin afectar el objetivo. En Vista / Win7, es seguro eliminar puntos de unión con Explorer o con los comandos rmdir y del.

barlop
fuente