stringtranslate.com

Enlace simbólico

En informática , un enlace simbólico (también enlace simbólico o enlace suave ) es un archivo cuyo propósito es apuntar a un archivo o directorio (llamado "destino") especificando una ruta al mismo. [1]

Los enlaces simbólicos son compatibles con POSIX y con la mayoría de los sistemas operativos tipo Unix , como FreeBSD , Linux y macOS . También existe soporte limitado en Windows 7 y Windows Vista , y hasta cierto punto en Windows 2000 y Windows XP en forma de archivos de acceso directo. CTSS en IBM 7090 tenía archivos vinculados por nombre en 1963. [2] [3] [4] En 1978, los sistemas operativos para minicomputadoras de DEC y el RDOS de Data General incluían enlaces simbólicos.

Descripción general

Un enlace simbólico contiene una cadena de texto que el sistema operativo interpreta y sigue automáticamente como una ruta a otro archivo o directorio. Este otro archivo o directorio se llama "destino". El enlace simbólico es un segundo archivo que existe independientemente de su destino. Si se elimina un enlace simbólico, su destino no se ve afectado. Si un enlace simbólico apunta a un objetivo, y algún tiempo después ese objetivo se mueve, se le cambia el nombre o se elimina, el enlace simbólico no se actualiza ni se elimina automáticamente, sino que continúa existiendo y aún apunta al antiguo objetivo, que ahora es una ubicación inexistente o archivo. Los enlaces simbólicos que apuntan a objetivos movidos o inexistentes a veces se denominan rotos , huérfanos , muertos o colgantes .

Los enlaces simbólicos son diferentes de los enlaces físicos . Los enlaces físicos no vinculan rutas en diferentes volúmenes o sistemas de archivos , mientras que los enlaces simbólicos pueden apuntar a cualquier archivo o directorio independientemente de los volúmenes en los que residen el enlace y el destino. Los enlaces físicos siempre hacen referencia a un archivo existente, mientras que los enlaces simbólicos pueden contener una ruta arbitraria que no apunta a nada.

Los enlaces simbólicos funcionan de forma transparente para muchas operaciones: los programas que leen o escriben en archivos nombrados por un enlace simbólico se comportarán como si operaran directamente en el archivo de destino. Sin embargo, tienen el efecto de cambiar un sistema de archivos jerárquico de un árbol a un gráfico dirigido, lo que puede tener consecuencias para operaciones tan simples como determinar el directorio actual de un proceso. Incluso el estándar Unix para navegar al directorio principal de un directorio ya no funciona de manera confiable frente a los enlaces simbólicos. Algunos shells intentan heurísticamente mantener la ilusión de una jerarquía en forma de árbol, pero cuando lo hacen, esto hace que produzcan resultados diferentes a los de otros programas que manipulan nombres de rutas sin esa heurística, confiando en su lugar en el sistema operativo. [5] Los programas que necesitan manejar enlaces simbólicos especialmente (por ejemplo, shells y utilidades de respaldo) necesitan identificarlos y manipularlos directamente.

Algunas distribuciones de Unix y Linux utilizan ampliamente enlaces simbólicos en un esfuerzo por reordenar la jerarquía del sistema de archivos. Esto se logra con varios mecanismos, como enlaces simbólicos variantes que dependen del contexto. Esto ofrece la oportunidad de crear un árbol de directorios más intuitivo o específico de la aplicación y reorganizar el sistema sin tener que rediseñar el conjunto principal de funciones y utilidades del sistema.

Sistemas operativos POSIX y tipo Unix

En los sistemas operativos compatibles con POSIX , los enlaces simbólicos se crean con la llamada al sistema symlink[6] . El lncomando de shell normalmente utiliza la llamada al sistema link[7] , que crea un vínculo físico . Cuando se especifica la bandera, se utiliza la llamada al sistema symlink(), creando un enlace simbólico. Los enlaces simbólicos se introdujeron en 1982 en 4.1a BSD Unix de UC Berkeley . [8]ln -s

El siguiente comando crea un enlace simbólico en la interfaz de línea de comandos (shell):

ln -s ruta_destino ruta_enlace

target_path es la ruta relativa o absoluta a la que debe apuntar el enlace simbólico. Normalmente el objetivo existirá, aunque se pueden crear enlaces simbólicos a objetivos inexistentes. link_path es la ruta del enlace simbólico.

Después de crear el enlace simbólico, se pueden utilizar algunas operaciones para tratarlo como un alias para el destino. Sin embargo, las operaciones lstat, [9] lchown[10] y readlink[11] son ​​exclusivas de los enlaces simbólicos y no se aplican al destino; Al utilizar esas llamadas al sistema, los programas que examinan el sistema de archivos (por ejemplo, ls, find) pueden informar sobre enlaces simbólicos (en lugar de sus objetivos, si los hay). Debido a que las llamadas al sistema renamey unlinkestán codificadas para operar directamente en enlaces simbólicos, los comandos de administración del sistema de archivos (por ejemplo, rm, mv) afectan el enlace simbólico en sí (en lugar de aplicarse al destino del enlace simbólico, si lo hay). El rmcomando (eliminar archivo) elimina el enlace en sí, no el archivo de destino. Del mismo modo, el mvcomando mueve o cambia el nombre del enlace, no del destino. El cpcomando tiene opciones que permiten copiar el enlace simbólico o el destino. Los comandos que leen o escriben el contenido del archivo accederán al contenido del archivo de destino.

La aplicación de listado de directorios POSIX, lsdenota enlaces simbólicos con una flecha después del nombre, que apunta al nombre del archivo de destino (consulte el siguiente ejemplo), cuando se solicita la lista larga de directorios ( -lopción). Cuando se solicita una lista de directorio de un enlace simbólico que apunta a un directorio, sólo se mostrará el enlace en sí. Para obtener una lista del directorio vinculado, la ruta debe incluir un carácter separador de directorio final ('/', barra diagonal).

Nota: En el siguiente ejemplo, no cree el directorio "tres" antes de crear el enlace en el directorio /tmp.

$ mkdir  -p  /tmp/uno/dos $ echo "test_a" >/tmp/one/two/a $ echo "test_b" >/tmp/one/two/b $ cd /tmp/one/two $ ls -l -rw-r--r-- 1 grupo de usuarios 7 ene 01 10:01 a -rw-r--r-- 1 grupo de usuarios 7 ene 01 10:01 b      $ cd  /tmp $ ln  -s  /tmp/one/two  three $ ls  -l  three lrwxrwxrwx 1 grupo de usuarios 12 22 de julio 10:02 /tmp/tres -> /tmp/one/two $ ls  -l  tres/ -rw -r--r-- 1 grupo de usuarios 7 01 de enero 10:01 a -rw-r--r-- 1 grupo de usuarios 7 01 de enero 10:01 b$ cd  tres $ ls  -l -rw-r--r-- 1 grupo de usuarios 7 01 de enero 10:01 a -rw-r--r-- 1 grupo de usuarios 7 01 de enero 10:01 b $ cat  a test_a $ gato  /tmp/uno/dos/a prueba_a $ echo "prueba_c" >/tmp/uno/dos/a $ gato /tmp/uno/dos/a prueba_c $ gato a prueba_c    

Almacenamiento de enlaces simbólicos

Las primeras implementaciones de enlaces simbólicos almacenaron la información del enlace simbólico como datos en archivos normales. El archivo contenía la referencia textual al destino del enlace y los bits del modo de archivo indicaban que el tipo de archivo es un enlace simbólico.

Este método era lento y suponía un uso ineficiente del espacio en disco en sistemas pequeños. Una mejora, llamada enlaces simbólicos rápidos , permitió el almacenamiento de la ruta de destino dentro de las estructuras de datos utilizadas para almacenar información de archivos en el disco ( inodos ). Este espacio normalmente almacena una lista de direcciones de bloques de disco asignadas a un archivo. Por lo tanto, se accede rápidamente a los enlaces simbólicos con rutas de destino cortas. Los sistemas con enlaces simbólicos rápidos a menudo recurren al método original si la ruta de destino excede el espacio de inodo disponible. El estilo original se denomina retroactivamente enlace simbólico lento . También se utiliza para la compatibilidad del disco con otras versiones o versiones anteriores de sistemas operativos.

Aunque almacenar el valor del enlace dentro del inodo ahorra un bloque de disco y una lectura del disco, el sistema operativo aún necesita analizar el nombre de la ruta en el enlace, lo que siempre requiere leer inodos adicionales y generalmente requiere leer otros directorios, potencialmente muchos, y procesarlos. tanto la lista de archivos como los inodos de cada uno de ellos hasta que encuentre una coincidencia con los componentes de la ruta del enlace. Sólo cuando un enlace apunta a un archivo en el mismo directorio los "enlaces simbólicos rápidos" proporcionan un rendimiento significativamente mejor que otros enlaces simbólicos.

La gran mayoría de las implementaciones compatibles con POSIX utilizan enlaces simbólicos rápidos. Sin embargo, el estándar POSIX no requiere que se implemente para los enlaces simbólicos todo el conjunto de información de estado de archivo común a los archivos normales. Esto permite que las implementaciones utilicen otras soluciones, como almacenar datos de enlaces simbólicos en entradas de directorio.

No se utilizan los permisos del sistema de archivos de un enlace simbólico; los modos de acceso del archivo de destino están controlados por los propios permisos del archivo de destino. Algunos sistemas operativos, como FreeBSD, ofrecen la posibilidad de modificar los permisos de archivos y los atributos del sistema de archivos de un enlace simbólico, a través de lchmod[12] y lchflags[13] llamadas al sistema respectivamente.

El tamaño informado de un enlace simbólico es la cantidad de caracteres en la ruta a la que apunta.

Manejo de errores

Un sistema de archivos Unix tradicional tiene una estructura de árbol, [14] sin embargo, los enlaces simbólicos le permiten contener bucles. [5]

Microsoft Windows

Enlace simbólico NTFS

NTFS 3.1 introdujo soporte para enlaces simbólicos para cualquier tipo de archivo. Se incluyó con Windows XP , pero solo estaba habilitado de forma predeterminada para aplicaciones en modo kernel. Windows Vista y versiones posteriores de Windows permitieron la compatibilidad con enlaces simbólicos a aplicaciones en modo de usuario. El mklinkcomando interno del símbolo del sistema de Windows puede crear enlaces simbólicos. Se requieren controladores de terceros para habilitar la compatibilidad con enlaces simbólicos NTFS en Windows XP. [15] A diferencia de los puntos de unión , un enlace simbólico también puede apuntar a un archivo o a una ruta de red remota del Bloque de mensajes del servidor (SMB). Además, la implementación del enlace simbólico NTFS proporciona soporte completo para enlaces entre sistemas de archivos. Sin embargo, la funcionalidad que permite enlaces simbólicos entre hosts requiere que el sistema remoto también los admita.

Los enlaces simbólicos están diseñados para ayudar en la migración y la compatibilidad de aplicaciones con sistemas operativos POSIX . Microsoft pretendía que los enlaces simbólicos de Windows Vista "funcionaran como enlaces UNIX". [16] Sin embargo, la implementación difiere de los enlaces simbólicos de Unix en varios aspectos. Por ejemplo, los usuarios de Windows Vista deben indicar manualmente al crear un enlace simbólico si se trata de un archivo o un directorio. [17] Windows 7 y Vista admiten un máximo de 31 puntos de análisis (y por lo tanto enlaces simbólicos) para una ruta determinada (es decir, cualquier ruta determinada puede tener como máximo 31 direcciones indirectas antes de que Windows se dé por vencido). [18] Solo los usuarios con el nuevo privilegio Crear enlace simbólico , que solo los administradores tienen de forma predeterminada, pueden crear enlaces simbólicos. [19] Si este no es el comportamiento deseado, se debe cambiar en la consola de administración de la Política de seguridad local. Además, los enlaces simbólicos NTFS a archivos son distintos de los enlaces simbólicos NTFS a directorios y, por lo tanto, no se pueden usar indistintamente, a diferencia de POSIX, donde el mismo enlace simbólico puede hacer referencia a archivos o directorios.

En Windows Vista y versiones posteriores, cuando la ruta del directorio de trabajo termina con un enlace simbólico, la referencia de la ruta principal actual, ..se referirá al directorio principal del enlace simbólico en lugar de al de su destino. Este comportamiento también se encuentra a nivel de shell en al menos algunos sistemas POSIX, incluido Linux , pero nunca en el acceso a archivos y directorios a través de llamadas al sistema operativo. Por ejemplo, bash comandos integrados pwdy cdopere en el directorio lógico actual. pwdse utiliza a menudo en scripts para determinar el directorio de trabajo actual real. Cuando se utiliza cualquier ruta con una llamada al sistema, cualquier uso de ..utilizará el sistema de archivos principal real del directorio que contiene la ..entrada del pseudodirectorio. Entonces, cd ..; cat somethingy cat ../somethingpuede arrojar resultados completamente diferentes.

Ejemplos

Los siguientes ejemplos crean un enlace simbólico llamado "Descargas" en "E:\" que apunta a la carpeta Descargas en el perfil del usuario actual.

mklink /D E:\Downloads %UserProfile%\Downloads
New-Item -Path 'E:\Downloads' -ItemType 'SymbolicLink' -Value "$Env:UserProfile\Downloads"

Puntos de unión NTFS

La versión Windows 2000 de NTFS introdujo puntos de análisis , que permitieron, entre otras cosas, el uso de puntos de montaje de volumen y puntos de unión. Los puntos de unión son únicamente para directorios y, además, únicamente para directorios locales; Los puntos de unión a recursos compartidos remotos no son compatibles. [20] Los kits de recursos de Windows 2000 y XP incluyen un programa llamado linkd para crear puntos de unión; Mark Russinovich de Sysinternals distribuyó uno más potente llamado Junction .

No todas las aplicaciones estándar admiten puntos de análisis. Lo más notable es que Backup sufre este problema y emitirá un mensaje de error 0x80070003 [21] cuando las carpetas de las que se va a realizar la copia de seguridad contienen un punto de análisis.

Atajos

Los accesos directos , que son compatibles con los exploradores gráficos de archivos de algunos sistemas operativos, pueden parecerse a enlaces simbólicos, pero difieren en varios aspectos importantes. Una diferencia es qué tipo de software puede seguirlos:

Los mecanismos también tienen diferentes capacidades:

Accesos directos a carpetas

Casi como atajos, pero transparentes para el shell de Windows. [24] Se implementan como carpetas normales (que deben tener el atributo de solo lectura y/o sistema [25] ) que contienen un acceso directo llamado target.lnk que hace referencia al destino y un escritorio.ini (oculto) con (al menos ) los siguientes contenidos:

 [.ShellClassInfo] CLSID2 = {0AFACED1-E828-11D1-9187-B532F1E9575D} 

Los accesos directos a carpetas se crean y utilizan desde el shell de Windows en el entorno de la red , por ejemplo.

Objetos de concha

Los objetos de shell [26] o carpetas de shell se definen en el registro de Windows y también pueden usarse para implementar una especie de enlace simbólico. Al igual que los accesos directos a carpetas, son transparentes para el shell de Windows.

Una implementación mínima es (el CLSID {00000000-0000-0000-0000-000000000000} se utiliza como marcador de posición):

 [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000-000000000000}] @ = "nombre para mostrar" [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000-000000000000}\DefaultIcon] @ = "..." ; ruta al icono [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000-000000000000}\InProcServer32] @ = "%SystemRoot%\\System32\\ShDocVw.Dll" "ThreadingModel" = "Apartamento" [ HKEY_CLASSES_ROOT \CLSID\{ 00000000-0000-0000-0000-000000000000}\Instancia] "CLSID" = "{0AFACED1-E828-11D1-9187-B532F1E9575D}" [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000- 000000000000}\Instancia\InitPropertyBag ] "Atributos" = hexadecimal : 15,00,00,00 "Objetivo" = "..."; absoluto (SIN "TargetKnownFolder" o "TargetSpecialFolder" solamente) ; o ruta relativa al destino "TargetKnownFolder" = "{guidguid-guid-guid-guid-guidguidguid}"; GUID de la carpeta de destino, Windows Vista y posterior "TargetSpecialFolder" = "0x00xy"; CSIDL del objetivo [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000-000000000000}\ShellFolder] "Atributos" = hexadecimal : 00,00,00,00                

La carpeta Mis documentos en el Escritorio , así como las carpetas Fuentes y Herramientas administrativas en el Panel de control son ejemplos de objetos de shell redirigidos a carpetas del sistema de archivos.

Enlaces simbólicos de Cygwin

Cygwin simula enlaces simbólicos compatibles con POSIX en el sistema de archivos de Microsoft Windows. Utiliza interfaces de programación y utilidades de usuario idénticas a las de Unix (ver arriba), pero crea accesos directos de Windows (archivos .lnk) con información adicional utilizada por Cygwin en el momento de la resolución del enlace simbólico. Los enlaces simbólicos de Cygwin cumplen con el estándar POSIX en términos de cómo se resuelven y con los estándares de Windows en términos de su representación en el disco.

Además, Cygwin se puede configurar para admitir enlaces simbólicos nativos de Windows que se pueden usar desde Cygwin sin restricciones. [27] Esto requiere:

  1. Cambiar la variable de entorno CYGWIN para que contenga winsymlinks:native ;
  2. Ejecutar Cygwin con derechos elevados porque Windows restringe la creación de enlaces simbólicos a usuarios privilegiados.

Sin embargo, existen algunas diferencias. Cygwin no tiene forma de especificar información relacionada con los accesos directos, como el directorio de trabajo o el icono, ya que no hay lugar para dichos parámetros en el ln -scomando. Para crear archivos .lnk estándar de Microsoft, Cygwin proporciona las utilidades mkshortcuty readshortcut. [28]

La Guía del usuario de Cygwin tiene más información sobre este tema. [27] MSYS2 , que está basado en Cygwin, tiene un conjunto similar de configuraciones de enlaces winsymlinks pero por defecto copia los archivos. [29]

Comparación de enlaces simbólicos POSIX y Windows

  1. ^ excepto cuando se utilizan herramientas especiales
  2. ^ Al ahorrar, se convierte en un camino absoluto.
  3. ^ Compatible con Windows Vista y versiones posteriores. La implementación de Windows no es compatible con POSIX. Crearlos requiere el privilegio "crear enlace simbólico" (SeCreateSymbolicLinkPrivilege). De forma predeterminada, una cuenta de usuario tiene este privilegio cuando es administrador o tiene habilitado el modo de desarrollador (Windows 10 v1703 y posteriores). [30]
  4. ^ POSIX permite enlaces físicos en carpetas pero no los requiere. Los sistemas de archivos modernos tienden a no admitirlo.

Otras implementaciones

Implementaciones de características similares a enlaces simbólicos.

MIT temprano

Sistema de tiempo compartido compatible con el MIT c.  1963 y Incompatible Timesharing System tienen archivos vinculados donde el nombre del archivo de destino se especifica en una entrada de directorio. [2] [3] [4]

amigos

El comando que crea enlaces simbólicos es makelink, que también se utiliza para enlaces físicos. Internamente, dos.library devuelve un código de error que indica que un destino es un enlace suave si intenta realizar acciones en él que solo son legales para un archivo, y las aplicaciones que desean seguir el enlace simbólico deben realizar una llamada explícita a siga el enlace y vuelva a intentar la operación. El shell de AmigaDOS seguirá los enlaces automáticamente.

Mac OS

En Mac OS, las aplicaciones o los usuarios también pueden emplear alias , que tienen la característica adicional de seguir al objetivo, incluso si se mueve a otra ubicación en el mismo volumen. Esto no debe confundirse con el alias del comando de shell .

OS/2

En el sistema operativo OS/2 , los enlaces simbólicos se parecen un poco a las sombras del Workplace Shell gráfico . Sin embargo, las sombras, debido al modelo de objetos del sistema totalmente orientado a objetos, son considerablemente más poderosas y robustas que un simple enlace. Por ejemplo, las sombras no pierden sus capacidades cuando se les cambia el nombre o cuando se reubica el objeto o sujeto del enlace. [31]

Enlaces simbólicos variables

Los enlaces simbólicos pueden implementarse de forma variable o dependiente del contexto, de modo que el enlace apunte a objetivos variables dependiendo de un parámetro de configuración, un parámetro de tiempo de ejecución u otra condición instantánea.

Un enlace simbólico variable o variante es un enlace simbólico que tiene un nombre de variable incrustado. Esto permite cierta flexibilidad en el orden del sistema de archivos que no es posible con un enlace simbólico estándar. Las variables incrustadas en un enlace simbólico pueden incluir información específica del usuario y del entorno.

Los sistemas operativos que utilizan enlaces simbólicos variantes incluyen NetBSD , DragonFly BSD y Domain/OS . [32] [33] [5] Tru64 utiliza un enlace simbólico dependiente del contexto donde el contexto es el número de miembro del clúster.

El sistema operativo OSx de Pyramid Technology implementó enlaces simbólicos condicionales que apuntaban a diferentes ubicaciones dependiendo del universo en el que se ejecutaba un programa. Los universos admitidos eran SysV.3 de AT&T y Berkeley Software Distribution (BSD 4.3). Por ejemplo: si el comando ps se ejecutara en el universo att , entonces el enlace simbólico para el directorio /bin apuntaría a /.attbin y se ejecutaría el programa /.attbin/ps . Mientras que si el comando ps se ejecutara en el universo ucb , entonces /bin apuntaría a /.ucbbin y se ejecutaría /.ucbbin/ps . También se crearon enlaces simbólicos condicionales similares para otros directorios como /lib , /usr/lib , /usr/include . [34]

Ver también

Referencias

  1. ^ Resolución de nombre de ruta, POSIX .
  2. ^ ab Walden, David; Van Vleck, Tom , eds. (2011). "Sistema de tiempo compartido compatible (1961-1973): descripción general conmemorativa del cincuentenario" (PDF) . Sociedad de Computación IEEE . Consultado el 20 de febrero de 2022 . A medida que CTSS se desarrolló, proporcionamos formas para que los usuarios compartieran sus archivos en el disco, a través de "archivos comunes" y "vínculos".
  3. ^ ab Crisman, Patricia A., ed. (31 de diciembre de 1969). "El sistema de tiempo compartido compatible, una guía para el programador" (PDF) . El Centro de Computación del MIT . Consultado el 10 de marzo de 2022 . Entradas UFD que apuntan a otras entradas UFD en lugar del archivo mismo
  4. ^ ab Corbato, FJ ; Daggett, MM; Daley, RC; Creasy, RJ; Hellwig, JD; Orenstein, RH; Korn, LK (1963). "El sistema de tiempo compartido compatible: una guía para programadores" (PDF) . MIT . Consultado el 29 de noviembre de 2022 . Enlace: El formato es similar a Copiar. El archivo especificado no se copia
  5. ^ abc Pike, Rob (2000). Nombres de archivos léxicos en el Plan 9 o acertar punto-punto (PDF) . Proc. Tecnología anual USENIX . Conf.
  6. ^ enlace simbólico, enlace simbólico. IEEE Std 1003.1, edición 2013.
  7. ^ enlace, enlace. IEEE Std 1003.1, edición 2013.
  8. ^ Bill alegría ; Sam Leffler . "Sobrevivir con 4.1a bsd". GitHub . Consultado el 8 de septiembre de 2023 . También incluye algunas otras características que pueden resultarle útiles, como enlaces simbólicos y un esquema de grupo mejorado.
  9. ^ fstatat, lstat, stat: obtenga el estado del archivo IEEE Std 1003.1, edición 2013.
  10. ^ lchown: cambie el propietario y el grupo de un enlace simbólico IEEE Std 1003.1, edición 2013.
  11. ^ readlink, readlinkat: lea el contenido de un enlace simbólico IEEE Std 1003.1, edición 2013.
  12. ^ "lchmod(2)". Páginas del manual para FreeBSD 11.
  13. ^ "lchflags(2)". Páginas del manual para FreeBSD 11.
  14. ^ Ritchie, DM ; Thompson, K. (julio de 1978). "El sistema de tiempo compartido UNIX". Tecnología del sistema de campana. J.57 (6): 1905-1929. CiteSeerX 10.1.1.112.595 . doi :10.1002/j.1538-7305.1978.tb02136.x. 
  15. ^ "Sitio web de extensión Link Shell". Enlace al sitio web de extensión Shell .
  16. ^ Enlaces simbólicos, biblioteca MSDN, desarrollo Win32 y COM, 18 de enero de 2008
  17. ^ "Función CreateSymbolicLinkA (winbase.h)". MSDN . Junio ​​de 2023.
  18. ^ Consideraciones de programación de enlaces simbólicos, MSDN
  19. ^ Mark Russinovich: Dentro del kernel de Windows Vista: Parte 1: enlaces simbólicos basados ​​en archivos, Microsoft Technet, febrero de 2007.
  20. ^ "Documentación de Sysinternals Junction". microsoft.com . Consultado el 23 de marzo de 2018 .
  21. ^ "Errores de copia de seguridad o restauración de Windows 0x80070001, 0x81000037 o 0x80070003". soporte.microsoft.com .
  22. ^ "Seguimiento de enlaces distribuidos en controladores de dominio: Windows Server". 23 de febrero de 2023.
  23. ^ "Seguimiento de enlaces distribuidos e identificadores de objetos". Red de desarrolladores de Microsoft . Corporación Microsoft. 20 de marzo de 2011 . Consultado el 30 de junio de 2011 .
  24. ^ "Especificar la ubicación de una extensión de espacio de nombres". msdn.microsoft.com . 11 de enero de 2008 . Consultado el 23 de marzo de 2018 .
  25. ^ "No puede ver ni cambiar los atributos de sólo lectura o del sistema de las carpetas en Windows Server 2003, Windows XP, Windows Vista o Windows 7". soporte.microsoft.com . Consultado el 8 de julio de 2021 .
  26. ^ Creación de extensiones de Shell con objetos de instancia de Shell. msdn.microsoft.com
  27. ^ ab "Capítulo 3. Uso de Cygwin". www.cygwin.com . Consultado el 8 de julio de 2021 .
  28. ^ "Usar Cygwin de forma eficaz con Windows".
  29. ^ "Coreutils: ln --symbolic crea enlaces físicos (paquetes MSYS2 n.° 249)". GitHub .
  30. ^ "Crear enlaces simbólicos". Documentación del cliente de Windows para profesionales de TI . Microsoft . 18 de enero de 2023: a través de Microsoft Learn.
  31. ^ Rojas, Miguel (16 de diciembre de 2020). "Cómo ejecutar versiones de Python diferentes a las predeterminadas". manualestutor.com/ . Consultado el 20 de diciembre de 2020 .
  32. ^ symlink(7)  -  Manual de información diversa de NetBSD : enlaces simbólicos mágicos.
  33. ^ BrooksDavis (2008). "Enlaces simbólicos variantes para FreeBSD" (PDF) .
  34. ^ Neil Brown (2016). "Un caso a favor de enlaces simbólicos variantes". LWN .

enlaces externos