Ricerca in FOLBlog


nov 102008
 
closeQuesto articolo è stato pubblicato 3 anni 3 mesi 1 giorno giorni fa quindi alcuni contenuti o informazioni presenti in esso potrebbero non essere più validi.


Link simbolico

La versione 5.0 del file system NTFS presente su Vista consente la creazione di link simbolici.
In ambiente *nix è una pratica semplice e comune quelle di reindirizzare una cartella o un file proprio utilizzando link simbolici.

Cosa è un link simbolico?
Immaginate il link simbolico come una sorta di dirottatore che impone al sistema operativo di andare a leggere o scrivere il contenuto di una cartella (o file) da un’altra parte rispetto al comando ricevuto.
Per esempio, supponiamo di creare un link simbolico alla cartella D:\Folder2 attribuendo ad esso il nome C:\Folder1.
Quando qualsiasi applicazione tenterà di leggere/scrivere il contenuto di C:\Folder1, in realtà leggerà o scriverà su D:\Folder2, senza che l’applicazione stessa se ne renda conto o mostri un qualunque errore.

A che servono i link simbolici?
Faccio immediatamente un esempio pratico.
Supponiamo che, non sopportate che il ProgrammaX salvi i dati nella cartella:
C:\Users\Enrico\DatiX
ma desideriate invece che tutti i dati siano salvati nella cartella
D:\Enrico\DatiX
Con la creazione di un link simbolico, senza modificare alcunchè nella configurazione dell’applicazione, è possibile ottenere facilmente questo risultato.
Basterà infatti creare un link simbolico con il nome “C:\Users\Enrico\DatiX” che punti alla cartella “D:\Enrico\DatiX”.
In questo modo ogni applicazione che tenterà di scrivere/leggere il contenuto di  C:\Users\Enrico\DatiX, agirà invece in D:\Enrico\DatiX.

Come creare ed eliminare i link simbolici
Il comando per creare un link simbolico è mklink.
Questa la sua sintassi:

MKLINK [[/D] | [/H] | [/J]] Link Target

/D – Crea un link simbolico ad una cartella (opzione di default).
/H – Crea un link simbolico ad un file (hard link).
/J – Crea un link di giunzione tra cartelle.
Link – Specifica il nome del link simbolico.
Target – Specifica il path (relativo o assoluto) alla cartella che verrà realmente utilizzata.

Per tornare all’esempio, ecco cosa occorrerebbe fare in pratica per ottenere il risultato illustrato in precedenza:

  • Copiare il contenuto della cartella C:\Users\Enrico\DatiX nella cartella D:\Enrico\DatiX
  • Eliminare la cartella C:\Users\Enrico\DatiX
  • creare il link simbolico digitando il seguente comando in un prompt di comandi eseguito con privilegi di amministratore:MKLINK /D  C:\Users\Enrico\DatiX  D:\Enrico\DatiX

Tutto qui.
Se con il file manager si va a verificare il contenuto di C:\Users\Enrico si troverà al suo interno DatiX (ma come, non l’avevamo eliminata?); non si tratta della cartella vera e propria, ma del suo link simbolico. La cartella DatiX in effetti si trova “fisicamente” in D:\Enrico\
Per eliminare un link simbolico, si opera come per eliminare una qualsiasi cartella.

Ho usato questo metodo per reindirizzare la cartella in cui Thunderbird salva tutti i dati della posta elettronica.
Thunderbird infatti salva i dati nella cartella: C:\Users\<nomeutente>\AppData\Roaming\Thunderbird\Profiles\<profilo>.default
Con la creazione di un opportuno link simbolico e senza modificarne la configurazione, ora Thunderbird non salva più i dati in C:\Users\Enrico\AppData\Roaming\Thunderbird\Profiles\74zo0xe0.default ma automaticamente in D:\Enrico\Thunderbird\74zo0xe0.default

Il medesimo metodo con l’utilizzo di link simbolici è stato utilizzato anche per condividere la stessa cartella dati di Thunderbird con con diverse installazioni del client di posta elettronica, anche su diversi sistemi operativi.
Rimando a questa ottima guida per i dettagli.

Technorati Tag: link simbolico,howto,cosaè,Thunderbird,Vista,soft link,hard link

Articoli simili:

  • Facebook
  • Twitter
  • Delicious
  • StumbleUpon
  • Wikio
  • Reddit
  • Technorati
  • Segnalo
  • Live
  • Add to favorites
  • Email
  • RSS

Technorati Tags: cosa è?, Guide, howto, Thunderbird, Tips, Vista

  5 Risposte a “Link simbolici – Cosa sono e come usarli con Vista”

Commenti (4) Pingbacks (1)
  1. Usando Mozilla Firefox Mozilla Firefox 3.0.3 con Mac OS X Mac OS X 10

    La comodità dei link simbolici è qualche cosa di impressionante. :D

    Il versioning di NTFS non l’ho ancora capito… :???:

  2. Usando Mozilla Firefox Mozilla Firefox 3.0 con Windows Windows XP

    mklink fa la stessa cosa di junction (sysinternals) giusto?

    Uso junction per avere link di folder (su xp) ma con i file non funziona.. Su vista questo mklinkfunziona anche con i file? (condivido un folder di configurazione tramite “getdropbox.com” tra linux a casa e winxp al lavoro e mi sarebbe utile la cosa)

  3. Usando Mozilla Firefox Mozilla Firefox 3.1b2 con Windows Windows Vista

    nessuno ha scritto:

    mklink fa la stessa cosa di junction (sysinternals) giusto?

    Junction di Sysinternal è equivalente a MKLINK /D.

    nessuno ha scritto:

    u vista questo mklinkfunziona anche con i file?

    MKLINK /H è il comando che crea gli hardlink a file.

    La differenza tra i due parametri /D e /H sta proprio in questo: /D crea un link simbolico ad una directory (detto symlink o softlink, simile al concetto di “collegamento” in Windows), mentre MKLINK con il parametro /H crea un link simbolico ad un file (hardlink).

    MKLINK /H notepad.exe np.exe crea un hardlink che consente poi di lanciare l’esecuzione di notepad tramite il comando np.exe

    Se hai un po’ di dimestichezza con l’inglese, qui è ben spiegata la differenza tra hardlink e softlink.

  4. Usando Mozilla Firefox Mozilla Firefox 3.0 con Windows Windows XP

    @Enrico
    non so su windows ma in generale la differenza tra hard link e softlink non è quella di poter creare link solo a directory o solo a file, si possono effettuare sia hardlink che softlink a file o directory, in ogni caso grazie della risposta (ho capito che mklink non è equivalente a “junction”, infatti mklink sfrutta una nuova caratteristica di vista NTFS)

    @per_i_posteri_che_leggeranno
    no, non c’è alcun modo di creare un link (hard o soft) che punti ad un file su XP… Sembra che i softlink per i file siano stati introdotti per l’NTFS di Vista, ecco il riferimento (technet.microsoft.com/it-it/magazine/2007.02.vistakernel.aspx)

    stralcio dell’articolo:
    “In Windows Vista è finalmente disponibile una funzione del file system che molti ritenevano mancasse in NTFS, il collegamento simbolico ai file (o collegamento soft, come viene chiamato in UNIX). La versione Windows 2000 di NTFS ha introdotto collegamenti simbolici a directory, chiamati giunzioni di directory, che consentono di creare una directory che ne indica un’altra, ma fino alla versione di Windows Vista, NTFS supportava soltanto collegamenti reali ai file.”

 Lascia un commento

(richiesto)

(richiesto)

Puoi usare questi tag e attributi HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2011 FOLBlog Suffusion theme by Sayontan Sinha