[TIP] Enlaces simbólicos en NTFS

Para todos los que viven hablando mal de Windows en favor de Linux les tengo una mala noticia: NTFS no tiene nada que envidiarle al mejor de los EXT4 o BTRFS, no señor. Si no estás de acuerdo, mas abajo podés dejar un comentario.

Como estará de bien hecho el sistema de archivos, que ¡hasta soporta enlaces simbólicos!. (Claro que pagando, como todo lo que viene del lado oscuro de la fuerza).

Y te digo mas: Hace mas de 12 años que NTFS soporta enlaces simbólicos. Desde Windows 2000 en adelante, de hecho. Para poder hacer uso de una característica tan “pro”, Microsoft pretendía que compremos el Resource Kit para la versión de WIndows correspondiente. Es decir, casi como cuando comprás un juguete nuevo y querés ponerlo a funcionar inmediatamente pero no podés por que “No incluye baterías”.

¿No entendiste un carajo todavía?

Un enlace simbólico es un archivo o directorio en cualquiera de tus unidades físicas formateadas en NTFS que no contiene nada si no que es simplemente un puntero, un indicador a otro archivo o directorio contenido en otra ubicación distinta de cualquiera de tus discos rígidos.

¿Nunca te preguntaste como hace Windows 7 para contener lo mismo en c:\documents and settings y c:\users? Bueno, eso mismo, por ejemplo.

Esto aparece en Google Images al buscar Junction. Maldito el día en que me propuse ponerle una imágen a cada artículo.

Si bien se le dá el nombre de enlace simbólico y el funcionamiento es mas o menos parecido, no confundir con los enlaces simbólicos y enlaces físicos de Linux por que para ser exactos, esto que en NTFS proponen como “simbólico” es mas bien un punto medio, una combinación de ambas ideas.

Un enlace simbólico en NTFS puede tener distinto nombre con respecto al archivo original, al igual que los enlaces simbólicos de Linux, pero a su vez es una entrada en la tabla de asignación que le da otro nombre al mismo contenido, como los enlaces físicos –o duros, hard links– en Linux.

Para que se entienda: Si bien puede llamarse distinto, si eliminás el enlace simbólico, te llevas puesta también la información que hubiera contenida en el archivo o directorio original. Esto con los enlaces simbólicos de Linux no pasa.

¿Que utilidad puede tener?

Muchas, o ninguna, depende de vos. A mi en particular se me ocurren unas cuantas. Tantas que hasta tengo junction en el path de ejecución –no miento– para tenerlo siempre a mano y acá es a donde quería llegar:

Si te comprás el Windows Resource Kit para tu versión de Windows, disponés de linkd, la utilidad para gestionar enlaces simbólicos. Si sos pobre pero querés linkd, vas y bajás junction de la gente de sysinternals, que paradójicamente hizo siempre tan buenas herramientas que fué comprada por Mícrosoft, que ahora te ofrece gratis lo mismo por lo que además te cobra por otro lado.

junction para windows usa exactamente la misma sintaxis que ln en Linux:

junction <que cosa> <en donde>

¿Querés que tu Windows XP tenga una carpeta c:\users como en Windows 7? Facil:

junction c:\users «c:\Documents and Settings»

Podés deshacer estos cambios usando:

junction –d c:\users

Que cosa mas inútil, ¿no?

…Y como era de esperarse viniendo de Microsoft: No funciona sobre unidades de red.