Quali sono i diversi tipi di collegamento in Windows? Come li creo?

È ansible colbind due file o cartelle senza avere un'estensione diversa in Windows?

Sto cercando funzionalità equivalenti ai collegamenti morbidi e duri in Unix.

Si prega di notare che l'unica differenza è che hai bisogno di diritti di amministratore per creare collegamenti simbolici. IE, hai bisogno di un prompt elevato. (Una soluzione alternativa è che il SeCreateSymbolicLinkPrivilege può essere concesso ai normali utenti tramite secpol.msc .)

Nota nella terminologia: i collegamenti di Windows non sono chiamati "symlinks"; sono collegamenti di shell , in quanto sono semplicemente i file che la shell di Esplora risorse tratta in modo speciale.


Symboli: come creo nel file system NTFS?

Windows Vista e versioni successive supportno i collegamenti in stile Unix nei file system NTFS. Ricorda che essi seguono anche la stessa risoluzione di path – i collegamenti relativi sono creati rispetto alla posizione del collegamento, non alla directory corrente. La gente spesso lo dimentica. Possono anche essere implementati usando un path assoluto; EG c: \ windows \ system32 invece di \ system32 (che va a una directory system32 collegata alla posizione del collegamento).
I simboli vengono implementati utilizzando punti di riparazione e generalmente hanno lo stesso comportmento di Unix symlinks.

Per i file è ansible eseguire:

 mklink linkname targetpath

Per le directory è ansible eseguire:

 mklink / d linkname targetpath

Hardlinks: come creo su file system NTFS?

Tutte le versioni di Windows NT supportno i collegamenti duri in stile Unix nei file system NTFS. Utilizzando mklink su Vista e su:

 mklink / h linkname targetpath

Per Windows 2000 e XP, utilizzare fsutil .

 fsutil hardlink crea il linkname targetpath

Questi funzionano allo stesso modo dei collegamenti duri di Unix – le voci di tabella di file multiple indicano lo stesso inodo .


Directory Junctions: Come creo su file system NTFS?

Windows 2000 e successivo connettono le directory di directory sui file system NTFS. Essi sono diversi dai simboli in quanto sono sempre assoluti e solo indicano directory, mai file.

 mklink / j linkname targetpath

Sulle versioni che non dispongono di mklink , scaricare la junction da Sysinternals:

 junction linkname targetpath

Le giunzioni vengono implementate utilizzando punti di riparazione .


Come posso montare un volume utilizzando un punto di riparazione in Windows?

Per completezza, in Windows 2000 e versioni successive , i punti di riparazione possono anche indicare i volumi , con conseguente creazione di dischi persistenti in stile Unix:

 mountvol mountpoint \\? \ Volume { volumeguid }

I GUID dei volumi sono elencati da mountvol ; sono statici ma solo all'interno della stessa macchina.


C'è un modo per farlo in Esplora risorse?

Sì, puoi utilizzare l'estensione Shell Extension shell che rende molto facile creare i collegamenti che sono stati descritti in precedenza. Puoi trovare i download in fondo alla pagina .

Il file system NTFS implementato in NT4, Windows 2000, Windows XP, Windows XP64 e Windows7 support una struttura conosciuta come collegamenti duri (in questo caso denominati Hardlinks ). I collegamenti Hardlinks forniscono la possibilità di mantenere una singola copia di un file, tuttavia è visualizzata in più cartelle (directory). Possono essere create con il command POSIX incluso nel Resource Kit di Windows, l'utilità di command fsutil inclusa in Windows XP o l'utilità ln.exe della row di command.

L'estensione consente all'utente di select uno o più file o cartelle, quindi utilizzare il mouse per completare la creazione dei collegamenti necessari – collegamenti legati, collegamenti o collegamenti simbolici o nel caso di cartelle per creare cloni costituiti da collegamenti duri o simbolici. LSE è supportto su tutte le versioni di Windows che supportno NTFS versione 5.0 o successiva, inclusi Windows XP64 e Windows7. I collegamenti duri, i collegamenti e i collegamenti simbolici non sono supportti nei sisthemes di file FAT e non è supportto il process di clonazione e copia intelligente nei sisthemes di file FAT.

La fonte può essere facilmente selezionata usando un menu a destra.

E a seconda di ciò che hai scelto , fai clic destro su una cartella di destinazione e ottieni un menu con opzioni.

Questo rende molto facile creare collegamenti. Per una guida completa, leggere la documentazione di LSE .

I download possono essere trovati nella parte inferiore della pagina .

URL di MSDN rilevanti:

  • Reparse Punti
  • Hardlinks e Junctions
  • link simbolici

In questa risposta cercherò di illustrare quali sono i diversi tipi di link nella gestione delle directory, nonché perché sono utili e quando possono essere utilizzati. Quando si cerca di get una certa organizzazione nei volumi di file, conoscere i vari tipi diversi e crearli è una conoscenza preziosa.

Per informazioni su come un certo collegamento può essere fatto, consultare la risposta di Grawity .

Che cosa è un collegamento?

Un collegamento è una relazione tra due entity framework;; nel context della gestione delle directory, un collegamento può essere visto come una relazione tra le seguenti due entity framework;:

  1. Directory Table

    Questa tabella tiene traccia dei file e delle cartelle che risiedono in una specifica cartella.

    Una tabella di directory è un tipo speciale di file che rappresenta una directory (anche conosciuta come una cartella). Ogni file o directory memorizzati all'interno di esso è rappresentato da una voce di 32 byte nella tabella. Ogni voce memorizza il nome, l'estensione, gli attributi (archivio, directory, nascosti, sola lettura, sistema e volume), la data e l'ora dell'ultima modifica, l'indirizzo del primo cluster dei dati del file / directory e, infine, la dimensione di il file / directory.

  2. Cluster di dati

    Più specificamente, il primo cluster del file o della directory.

    Un cluster è la più piccola quantità logica di spazio su disco che può essere assegnato per contenere un file.

La cosa speciale di questa relazione è che permette di avere un solo cluster di dati ma molti collegamenti a quel cluster di dati, questo ci consente di mostrare i dati come presenti in più posizioni. Tuttavia, ci sono diversi modi per farlo e each metodo di farlo ha i propri effetti.

Per vedere da where provengono queste radici, torniamo al passato …

Che cosa è un collegamento shell e perché non è sempre sufficiente?

Anche se potrebbe sembrare familiare, tutti lo sappiamo! Le scorciatoie di file sono senza dubbio il modo più utilizzato per colbind i file. Questi sono stati trovati in alcune delle prime versioni di Windows 9x e sono state lì per un lungo periodo.

Questi consentono di creare rapidamente un collegamento a qualsiasi file o cartella, sono più specificamente fatti per memorizzare informazioni aggiuntive lungo solo il collegamento come ad esempio la directory di lavoro in cui viene eseguito il file, gli argomenti da fornire al programma, nonché le opzioni come se massimizzare il programma.

Il lato negativo di questo approccio di collegamento è esattamente quello, le informazioni aggiuntive richiedono questo tipo di collegamento per avere un cluster di dati da sé per contenere quel file. Il problema allora non è necessariamente che occorra lo spazio su disco, ma piuttosto che il collegamento è indirettamente accessibile come Data Cluster prima deve essere richiesto prima di arrivare al collegamento effettivo. Se il path indicato nel collegamento effettivo è andato, il collegamento di shell continuerà ad esistere.

Se si wheresse operare sul file di cui si fa riferimento, in realtà dovreste prima scoprire in quale directory è il file. Non è ansible aprire semplicemente il collegamento in un editor in quanto si modificherebbe il file .lnk piuttosto che il file a cui si è collegati. Questo blocca molti possibili casi di utilizzo per i collegamenti shell.

Come fa un collegamento a punti di giunzione per risolvere questi problemi?

Un punto di giunzione NTFS consente di creare un collegamento simbolico a una directory delle unità locali , in modo tale che si comporti come una normale directory. Quindi, hai una directory di file memorizzati sul disco ma puoi accedervi da più posizioni.

Quando si rimuove il punto di giunzione, rimane la directory originale. Quando si rimuove la directory originale, rimane il punto di giunzione. È molto costoso enumerare il disco per controllare i punti di giunzione che devono essere eliminati. Questo è un aspetto negativo come conseguenza della sua attuazione.

Il punto di giunzione NTFS è implementato utilizzando i punti di riparazione NTFS , che sono oggetti di file system NTFS introdotti con Windows 2000.

Un punto di riparazione NTFS è un tipo di object di file system NTFS. I punti di riparazione forniscono un modo per estendere il file system NTFS aggiungendo informazioni supplementari alla voce di directory, in modo che un filter del sistema di file possa interpretare come il sistema operativo tratterà i dati. Ciò consente la creazione di punti di giunzione, collegamenti simbolici NTFS e punti di assembly del volume ed è una funzionalità fondamentale di Hierarchical Storage System di Windows 2000.

Proprio così, l'invenzione del punto di riparazione ci permette di fare modi più sofisticati di collegamento.

Il punto di giunzione NTFS è un collegamento morbido , il che significa che è solo un collegamento al nome del file. Ciò significa che each volta che il collegamento viene eliminato i dati originali rimangono intatti ; ma, each volta che vengono eliminati i dati originali, i dati originali saranno eliminati .

Posso anche file di collegamento morbido? Ci sono collegamenti simbolici ?

Sì, quando Windows Vista è accaduto, hanno deciso di estendere la funzionalità degli oggetti del file system NTFS fornendo il collegamento simbolico NTFS , che è un collegamento morbido che agisce allo stesso modo del punto di giunzione NTFS. Ma può essere applicato a file e directory.

Essi condividono nuovamente lo stesso comportmento di cancellazione, in alcuni casi di utilizzo questo può essere un dolore per i file in quanto non si desidera avere una copia inutile di un file appeso intorno. Ecco perché anche la nozione di collegamenti duri è stata implementata.

Che cos'è un legame duro e come si comport in contrapposizione a legami morbidi?

I collegamenti duri non sono oggetti di file system NTFS, ma sono invece un collegamento a un file (in dettaglio, si riferiscono alla voce MFT in quanto memorizza informazioni aggiuntive sul file effettivo). La voce MFT dispone di un field che ricorda le quantità di tempo in cui un file è legato. I dati saranno ancora accessibili finché alless un collegamento che lo indica ancora esiste.

Quindi, i dati non dipendono più da una singola voce MFT da esistere . Finché c'è un legame duro, i dati sopravviveranno. Ciò impedisce l'eliminazione accidentale dei casi in cui non si desidera ricordare where era il file originale.

Potresti, ad esempio, creare una cartella con i "film che ho ancora da guardare", nonché una cartella "i film che prendo in vacanza" e una cartella "i film preferiti". I filmati che non sono questi saranno eliminati correttamente mentre i filmati che ne sono questi continueranno ad esistere anche quando hai guardato un filmato.

Che cos'è un collegamento del punto di assembly del volume ?

Alcuni IT oi professionisti potrebbero non amare wherer ricordare o digitare le diverse lettere di unità che il loro sistema ha. Cosa significa M: realtà comunque? Era musica? Film? Modelli? Mappe?

Microsoft ha fatto gli sforzi durante l'anno per cercare di migrare gli utenti lontani dal work in drive C: per work in your user folder . Potrei dire senza dubbio che gli utenti con UAC e i problemi di authorization sono quelli che non seguono queste linee guida, ma non li fa che si chiedano:

Perché dovresti anche visualizzare i tuoi file personali su base giornaliera?

I punti di assembly del volume sono il modo professionale di non essere limitati dalle lettere di unità e di avere una struttura di directory che ha senso per loro, ma …

I miei file sono in luoghi diversi, posso utilizzare i collegamenti per metterli insieme?

In Windows 7, le librerie sono state introdotte esattamente a questo scopo. Fatto con i file musicali che si trovano in questa cartella e quella cartella e quella cartella . Da un livello di vista inferiore, una libreria può essere vista come collegamenti multipli. Sono nuovamente implementati come un object di file system che può contenere più riferimenti. È in sostanza una relazione unica a molti

Il mio cervello esplode … Puoi riassumere quando usarli?

  • Collegamenti di collegamento: utilizzarli quando è necessario accedere rapidamente a un file eseguibile oa un sito web, un file che viene lanciato molto spesso o quando è necessario specificare parametri ad un'applicazione e un file batch è un overkill. Non utilizzarlo quando si intende manipolare il file tramite il suo collegamento.

  • Punti di giunzione: li usa quando si desidera che una directory sia altrove, ciò consente di spostare le directory in unità più veloci o più lente senza perdere la possibilità di accedere al path originale. Un altro uso è quando si desidera l'accesso a una directory attraverso un altro path. Questi non possono essere utilizzati per collegarsi a una condivisione.

  • Collegamenti morbidi: li usi quando un collegamento di collegamento non è sufficiente, viene spesso utilizzato quando si intende manipolare il file tramite il suo collegamento. Oppure quando si desidera che il file si trovi su un'unità più veloce o più lenta senza perdere la possibilità di accedere al path originale.

  • Collegamenti duri: utilizzarli quando vuoi solo che un file venga eliminato quando tutti i collegamenti duri sono rimossi. Questo non può essere utilizzato per le cartelle.

  • Punti di assembly del volume: utilizzarli quando si esauriscono le lettere di unità o quando si riesce più ansible accedere a un volume attraverso un path piuttosto che tramite una lettera di unità.

  • Librerie: li usa quando hai lo stesso tipo di file in molte posizioni diverse e hai bisogno di essere insieme, support le unità rimovibili in modo da renderlo utile per get le cartelle delle unità rimovibili visualizzate tra quelle del computer quando si inserisce esso. È ansible fare clic sulle singole cartelle dall'tree della cartella sotto la libreria nella visualizzazione dell'tree, che facilita lo spostamento di file tra entrambi.

Se sei in Windows Vista o versione successiva e hai i diritti di amministrazione, puoi controllare il command mklink (è uno strumento di row di command). Non sono sicuro di come sia effettivamente collegato a symlink poiché le windows gli danno l'icona della freccia piccola che mette su scorciatoie, ma un test di notepad ++ veloce su un file di text suggerisce che potrebbe funzionare per quello che stai cercando.

È ansible eseguire mklink senza argomenti per una guida rapida di utilizzo.

Spero che aiuti.

questo articolo ha alcune distinzioni

una distinzione importnte è che in un certo senso, le giunzioni pre win7 erano un po 'pericolose, poiché eliminarle eliminerebbero la directory di destinazione.

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

Un punto di giunzione non dovrebbe mai essere rimosso in Win2k, Win2003 e WinXP con Explorer, i comandi del del / del / s o con qualsiasi utilità che passeggia recursivamente alle directory poiché eliminerà la directory di destinazione e tutte le sue sottodirectory. Utilizzare invece il command rmdir, l'utilità linkd o fsutil (se si utilizza WinXP o sopra) o uno strumento di terze parti per rimuovere il punto di giunzione senza influenzare il target. In Vista / Win7 è ansible eliminare i punti di collegamento con Explorer o con i comandi rmdir e del.