Tre meccanismi, un'idea: puntare da un'altra parte
Un hardlink è una seconda voce di directory per lo stesso file: entrambi i nomi puntano allo stesso record MFT e NTFS tiene un contatore di link — cancelli un nome e i dati sopravvivono finché non se ne va l'ultimo. Gli hardlink funzionano solo per i file, mai per le cartelle e mai tra volumi. È il trucco dietro WinSxS: l'archivio componenti, System32 e montagne di backup degli update condividono gli stessi file fisici, quindi ogni «copia» sul disco non costa nulla in più.
Una junction è un reparse point su una directory — una tecnologia di Windows 2000 che reindirizza una cartella verso un'altra sulla stessa macchina. È così che Windows costruisce i fantasmi di compatibilità come «Documents and Settings» che punta a C:\Users. Il symlink è la versione moderna e più capace: può puntare a file oltre che a cartelle, usare percorsi relativi e attraversare i volumi, ma crearne uno richiede un prompt elevato o la Modalità sviluppatore.
I comandi e ciò che creano davvero
Si fa tutto con mklink, e le opzioni sono tutta la storia. Apri un Prompt dei comandi elevato e le tre forme qui sotto coprono il novanta per cento dei casi reali. Verifica il risultato con dir /AL — i reparse point compaiono come <SYMLINK>, <SYMLINKD> o <JUNCTION>, con le destinazioni tra parentesi.
- mklink /H backup.txt original.txt — un hardlink: due nomi, un file, zero byte extra
- mklink /J C:\Link C:\RealFolder — una junction: vecchia, veloce, solo cartelle sullo stesso volume
- mklink /D C:\Link C:\RealFolder — un link simbolico a directory: richiede admin o Modalità sviluppatore
- fsutil hardlink list file.txt — mostra ogni nome con cui quei dati sono raggiungibili
- dir /AL — elenca i reparse point in una cartella, con tipo e destinazione
Dove i link mordono: backup, pulitori e spostamenti
I contatori di spazio ingenui riportano i file con hardlink una volta per link, ed è così che i tool di «dedupe» annunciano orgogliosi 40 gigabyte di risparmi immaginari su un Windows sano. Alcune utility di pulizia inseguono le junction fino alle loro destinazioni e cancellano dati veri dalla porta di servizio; quelle serie saltano i reparse point a piè pari. E se trascini una cartella con una junction su un altro disco, Esplora può tranquillamente sostituire il link con una copia completa della destinazione — con qualche gigabyte che spunta dal nulla.
Le abitudini sicure sono semplici. Usa i link per la struttura, non per lo stoccaggio, e documenta ogni junction che crei alla radice di un disco dati. E non fidarti mai della dimensione di una cartella su un volume non scansionato con gli hardlink in mente — prima di cancellare un presunto duplicato, lancia fsutil hardlink list, perché se i dati hanno due nomi non stai affatto guardando una copia.
Domande e risposte
Una junction è come un collegamento?
No. Un collegamento è un file .lnk che ogni applicazione deve saper interpretare; una junction lavora a livello di filesystem, quindi ogni programma vede il contenuto della cartella di destinazione in modo trasparente.
Cancellare un hardlink cancella il file originale?
No. I dati spariscono solo quando viene cancellato l'ultimo hardlink; fino ad allora ogni nome è un proprietario alla pari, non un riferimento a un «vero» originale.
Scopri cosa include la licenza prima dell'acquisto.
La prova singola di 30 minuti include gli strumenti essenziali. Le funzioni PRO restano bloccate finché non attivi una licenza a pagamento.
Da leggere dopo
Scrivici: [email protected]