stringtranslate.com

Enlace simbólico

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

Los enlaces simbólicos son compatibles con POSIX y con la mayoría de los sistemas operativos similares a Unix , como FreeBSD , Linux y macOS . También existe un soporte limitado en Windows 7 y Windows Vista , y en cierto grado 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 de minicomputadoras de DEC y RDOS de Data General incluyeron 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 denomina "objetivo". 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 destino y, en algún momento posterior, ese destino 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 sigue apuntando al destino anterior, que ahora es una ubicación o archivo inexistente. Los enlaces simbólicos que apuntan a destinos 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 residan 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 estuvieran operando directamente en el archivo de destino. Sin embargo, tienen el efecto de cambiar un sistema de archivos que de otro modo sería 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 padre de un directorio ya no funciona de forma fiable frente a los enlaces simbólicos. Algunos shells intentan mantener heurísticamente 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 dicha heurística, confiando en el sistema operativo en su lugar. [5] Los programas que necesitan manejar enlaces simbólicos de forma especial (por ejemplo, shells y utilidades de copia de seguridad) necesitan identificarlos y manipularlos directamente.

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

Sistemas operativos POSIX y similares a 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 enlace duro . Cuando se especifica el indicador, se utiliza en su lugar la llamada al sistema symlink(), que crea 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 destino existe, aunque se pueden crear enlaces simbólicos a destinos 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 del sistema, los programas que examinan el sistema de archivos (por ejemplo, ls, find) pueden informar sobre los enlaces simbólicos (en lugar de sus destinos, si los hay). Debido a que las llamadas del sistema renamey unlinkestán codificadas para operar directamente sobre enlaces simbólicos, los comandos de administración del sistema de archivos (por ejemplo, rm, mv) afectan al 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 contenidos de archivos accederán al contenido del archivo de destino.

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

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

$ mkdir  -p  /tmp/one/two $ 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 Jul 22 10:02 /tmp/three -> /tmp/one/two $ ls  -l  three/ -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  tres $ 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 $ cat  a prueba_a $ cat  /tmp/one/two/a prueba_a $ echo "prueba_c" >/tmp/one/two/a $ cat /tmp/one/two/a prueba_c $ cat a prueba_c    

Almacenamiento de enlaces simbólicos

Las primeras implementaciones de enlaces simbólicos almacenaban 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 de modo de archivo indicaban que el tipo de archivo era 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 vuelven a utilizar el método original si la ruta de destino excede el espacio disponible en inodos. 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 de 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, y potencialmente muchos, y procesar tanto la lista de archivos como los inodos de cada uno de ellos hasta que encuentra una coincidencia con los componentes de la ruta del enlace. Solo cuando un enlace apunta a un archivo en el mismo directorio, los "enlaces simbólicos rápidos" brindan 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 exige que se implemente todo el conjunto de información de estado de archivo común a los archivos normales para los enlaces simbólicos. Esto permite que las implementaciones utilicen otras soluciones, como almacenar datos de enlaces simbólicos en entradas de directorio.

Los permisos del sistema de archivos de un enlace simbólico no se utilizan; los modos de acceso del archivo de destino se controlan mediante los propios permisos del archivo de destino. Algunos sistemas operativos, como FreeBSD, ofrecen la posibilidad de modificar los permisos de archivo y los atributos del sistema de archivos de un enlace simbólico, mediante llamadas al sistema lchmod[12] y lchflags[13] 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 se habilitó de forma predeterminada para aplicaciones en modo kernel. Windows Vista y versiones posteriores de Windows habilitaron el soporte para enlaces simbólicos a aplicaciones en modo usuario. El mklinkcomando interno del Símbolo del sistema de Windows puede crear enlaces simbólicos. Se requieren controladores de terceros para habilitar el soporte para 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 una ruta de red del Bloque de mensajes del servidor (SMB) remoto. Además, la implementación del enlace simbólico NTFS proporciona soporte completo para enlaces entre sistemas de archivos. Sin embargo, la funcionalidad que habilita los 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 igual que los enlaces UNIX". [16] Sin embargo, la implementación difiere de los enlaces simbólicos de Unix en varias formas. 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 indirecciones 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, debe cambiarse 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 referirse 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, .., hará referencia al directorio principal del enlace simbólico en lugar de al de su destino. Este comportamiento también se encuentra en el 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 del sistema operativo. Por ejemplo, los comandos integrados de bash pwdy cdoperan 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 del sistema, cualquier uso de ..utilizará el sistema de archivos principal real del directorio que contiene la ..entrada del pseudodirectorio. Por lo tanto, cd ..; cat somethingy cat ../somethingpueden devolver 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 de 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 solo para directorios y, además, solo 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. El problema más evidente es que Backup presenta este problema y emite un mensaje de error 0x80070003 [21] cuando las carpetas que se van a respaldar contienen un punto de análisis.

Atajos

Los accesos directos , que son compatibles con los exploradores de archivos gráficos 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 accesos directos, pero transparentes para el shell de Windows. [24] Se implementan como carpetas comunes (que deben tener el atributo de solo lectura y/o del sistema [25] ) que contienen un acceso directo llamado target.lnk que hace referencia al destino y un desktop.ini (oculto) con (al menos) el siguiente contenido:

 [.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 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 se pueden utilizar 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 usa 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}\Instance] "CLSID" = "{0AFACED1-E828-11D1-9187-B532F1E9575D}" [ HKEY_CLASSES_ROOT \CLSID\{00000000-0000-0000-0000-000000000000}\Instance\InitPropertyBag] "Attributes" = hex : 15,00,00,00 "Target" = "..."; 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 versiones posteriores "TargetSpecialFolder" = "0x00xy"; CSIDL del destino [ 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 que utiliza 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 cuanto a su resolución y con los estándares de Windows en cuanto a su representación en el disco.

Además, Cygwin se puede configurar para admitir enlaces simbólicos nativos de Windows que se pueden usar fuera de 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 ln -sel comando. Para crear archivos .lnk estándar de Microsoft, Cygwin proporciona las utilidades mkshortcuty . [28]readshortcut

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

Comparación de enlaces simbólicos POSIX y Windows

  1. ^ excepto cuando se utilicen 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. Para crearlos se 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 versiones posteriores). [30]
  4. ^ POSIX permite enlaces físicos a carpetas, pero no los exige. Los sistemas de archivos modernos tienden a no admitirlos.

Otras implementaciones

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

El MIT en sus inicios

Tanto el sistema de tiempo compartido compatible con el MIT de  1963 como el sistema de tiempo compartido incompatible tienen archivos vinculados en los que el nombre del archivo de destino se especifica en una entrada de directorio. [2] [3] [4]

Amiga

El comando que crea enlaces simbólicos es makelink, que también se utiliza para enlaces duros. Internamente, dos.library devuelve un código de error que indica que un destino es un enlace blando 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 para seguir el enlace y volver a intentar la operación. El shell de AmigaDOS seguirá los enlaces automáticamente.

Sistema operativo Mac

En Mac OS, las aplicaciones o los usuarios también pueden utilizar 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 comando de shell alias .

Sistema operativo/2

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

Enlaces simbólicos variables

Los enlaces simbólicos se pueden implementar de manera variable o dependiente del contexto, de modo que el enlace apunte a distintos objetivos según 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 incorporado. Esto permite cierta flexibilidad en el orden del sistema de archivos que no es posible con un enlace simbólico estándar. Las variables incorporadas 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 según el 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 ejecutaba 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 ejecutaba 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]

Véase también

Referencias

  1. ^ Resolución de ruta, POSIX .
  2. ^ ab Walden, David; Van Vleck, Tom , eds. (2011). "Sistema de tiempo compartido compatible (1961-1973): descripción general conmemorativa del quincuagésimo aniversario" (PDF) . IEEE Computer Society . 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 "enlaces".
  3. ^ ab Crisman, Patricia A., ed. (31 de diciembre de 1969). "The Compatible Time-Sharing System, A Programmer's Guide" (PDF) . The MIT Computation Center . Consultado el 10 de marzo de 2022. Entradas UFD que apuntan a otras entradas UFD en lugar de al archivo en sí
  4. ^ ab Corbato, FJ ; Daggett, MM; Daley, RC; Creasy, RJ; Hellwig, JD; Orenstein, RH; Korn, LK (1963). "The Compatible Time-Sharing System A Programmer's Guide" (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 Plan 9 o cómo hacer que los puntos sean correctos (PDF) . Proc. USENIX Annual Tech. Conf.
  6. ^ enlace simbólico, enlace simbólico. IEEE Std 1003.1, edición 2013.
  7. ^ enlace, enlace a. IEEE Std 1003.1, edición 2013.
  8. ^ Bill Joy ; Sam Leffler . "Sobrevivir con bsd 4.1a". 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 - obtener el estado del archivo IEEE Std 1003.1, edición 2013.
  10. ^ lchown - cambia el propietario y el grupo de un enlace simbólico IEEE Std 1003.1, edición 2013.
  11. ^ readlink, readlinkat - lee el contenido de un enlace simbólico IEEE Std 1003.1, edición 2013.
  12. ^ "lchmod(2)". Páginas del manual de FreeBSD 11.
  13. ^ "lchflags(2)". Páginas del manual de FreeBSD 11.
  14. ^ Ritchie, DM ; Thompson, K. (julio de 1978). "El sistema de tiempo compartido de UNIX". Bell System Tech. J . 57 (6): 1905–1929. CiteSeerX 10.1.1.112.595 . doi :10.1002/j.1538-7305.1978.tb02136.x. 
  15. ^ "Sitio web de Link Shell Extension". Sitio web de Link Shell Extension .
  16. ^ Enlaces simbólicos, Biblioteca MSDN, Desarrollo de Win32 y COM, 18 de enero de 2008
  17. ^ "Función CreateSymbolicLinkA (winbase.h)". MSDN . Junio ​​de 2023.
  18. ^ Consideraciones sobre programación de enlaces simbólicos, MSDN
  19. ^ Mark Russinovich: Dentro del núcleo 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". support.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". Microsoft Developers Network . Microsoft Corporation. 20 de marzo de 2011. Consultado el 30 de junio de 2011 .
  24. ^ "Especificación de 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 se pueden ver ni cambiar los atributos de solo lectura ni del sistema de las carpetas en Windows Server 2003, Windows XP, Windows Vista o Windows 7". support.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. ^ "Cómo usar Cygwin de forma efectiva con Windows".
  29. ^ "Coreutils: ln --symbolic crea enlaces duros (MSYS2-packages #249)". GitHub .
  30. ^ "Crear vínculos 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 variada de NetBSD : enlaces simbólicos mágicos.
  33. ^ Brooks Davis (2008). "Enlaces simbólicos variantes para FreeBSD" (PDF) .
  34. ^ Neil Brown (2016). "Un caso a favor de los enlaces simbólicos variantes". LWN .

Enlaces externos