Collegamento dei file (ln comando)

Il collegamento dei file con il comando ln è un modo conveniente per lavorare con gli stessi dati come se si trovasse in più di un posto.

I link vengono creati dando nomi alternativi al file originale. L'utilizzo dei link consente di condividere un file di grandi dimensioni, come un database o una mailing list, da condividere da diversi utenti senza effettuare copie di quel file. Non solo i link salvano lo spazio del disco, ma le modifiche apportate ad un file si riflettono automaticamente in tutti i file collegati.

Il comando ln collega il file designato nel parametro SourceFile al file designato dal parametro TargetFile o allo stesso nome file in un'altra directory specificata dal parametro TargetDirectory . Per impostazione predefinita, il comando ln crea collegamenti hardware. Per utilizzare il comando ln per creare collegamenti simbolici, aggiungere l'indicatore -s .
Nota: Non è possibile collegare i file attraverso i file system senza utilizzare la bandiera -s .

Se si sta collegando un file ad un nuovo nome, è possibile elencare un solo file. Se si sta collegando ad una directory, è possibile elencare più di un file.

Il parametro TargetFile è facoltativo. Se non si designa un file di destinazione, il comando ln crea un file nella propria directory corrente. Il nuovo file eredita il nome del file designato nel parametro SourceFile .

Consultare i seguenti esempi:
  • Per creare un collegamento a un file denominato chap1, immettere quanto segue:
    ln -f chap1 intro
    Collega chap1 al nuovo nome, intro. Quando viene utilizzato l'indicatore -f , viene creato il nome file intro se non esiste già. Se intro esiste, il file viene sostituito da un collegamento a chap1. Entrambi i nomi file chap1 e intro fanno riferimento allo stesso file.
  • Per collegare un file denominato index allo stesso nome in un'altra directory denominata manual, immettere il seguente comando:
    ln index manual
    Collega index al nuovo nome, manual/index.
  • Per collegare diversi file ai nomi in un'altra directory, digitare quanto segue:
    ln chap2 jim/chap3 /home/manual
    Questo collega chap2 al nuovo nome /home/manual/chap2 e jim/chap3 a /home/manual/chap3.
  • Per utilizzare il comando ln con caratteri corrispondenti al modello, immettere quanto segue:
    ln manual/* .
    Nota: È necessario digitare uno spazio tra l'asterisco e il periodo.
    Questo collega tutti i file nella directory manual nella directory corrente, punto (.), fornendo loro gli stessi nomi che hanno nella directory manual .
  • Per creare un collegamento simbolico, digitare quanto segue:
    ln -s /tmp/toc toc
    Questo crea il collegamento simbolico, toc, nella directory corrente. Il file toc punta al file /tmp/toc . Se il file /tmp/toc esiste, il comando cat toc ne elenca il contenuto.
  • Per ottenere risultati identici senza designare il parametro TargetFile , immettere quanto segue:
    ln -s /tmp/toc