Ricerca nel sito web

Tutorial sui comandi di Linux ln per principianti (5 esempi)


Su questa pagina

  1. Comando Linux ln
  2. D1. Come creare un collegamento reale usando ln?
  3. Q2. Come creare un collegamento soft/simbolico usando ln?
  4. Q3. Come fare in modo che ln rimuova i file di destinazione esistenti con lo stesso nome?
  5. Q4. Come fare in modo che ln crei un backup di file esistenti con lo stesso nome?
  6. D5. Come creare collegamenti in una directory diversa dalla directory corrente?
  7. Conclusione

A volte, mentre si lavora sulla riga di comando, è necessario creare collegamenti tra i file. Ciò può essere ottenuto utilizzando un comando dedicato, denominato ln. In questo tutorial, discuteremo le basi di questo strumento utilizzando alcuni esempi di facile comprensione. Ma prima di farlo, vale la pena ricordare che tutti gli esempi qui sono stati testati su una macchina Ubuntu 22.04.

Comando linux lin

Come ormai avrai capito, il comando ln ti consente di creare collegamenti tra file. Di seguito è riportata la sintassi (o meglio una diversa sintassi disponibile) per questo strumento:

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
ln [OPTION]... TARGET                  (2nd form)
ln [OPTION]... TARGET... DIRECTORY     (3rd form)
ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

Ed ecco come lo spiega la pagina man degli strumenti:

In  the  1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link 
to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in
DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each
destination (name of new link) should not already exist. When creating hard links, each TARGET
must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is
interpreted in relation to its parent directory.

I seguenti esempi in stile Q&A ti daranno un'idea migliore di come funziona il comando ln. Ma prima, è utile per te capire qual è la differenza tra hard link e soft link.

Q1. Come creare un collegamento reale usando ln?

È piuttosto semplice: tutto ciò che devi fare è utilizzare il comando ln nel modo seguente:

ln [file] [hard-link-to-file]

Per esempio:

ln test.txt test_hard_link.txt

Quindi puoi vedere che è stato creato un collegamento fisico con il nome test_hard_link.txt.

D2. Come creare un collegamento soft/simbolico usando ln?

Per questo, utilizzare l'opzione della riga di comando -s.

ln -s [file] [soft-link-to-file]

Per esempio:

ln -s test.txt test_soft_link.txt

Il file test_soft_link.txt è un collegamento soft/simbolico, come confermato dal colore del testo celeste.

D3. Come fare in modo che ln rimuova i file di destinazione esistenti con lo stesso nome?

Per impostazione predefinita, ln non consente di creare un collegamento se esiste già un file con lo stesso nome nella directory di destinazione.

Tuttavia, se lo desideri, puoi fare in modo che ln sovrascriva questo comportamento utilizzando l'opzione della riga di comando -f.

Nota: puoi utilizzare l'opzione della riga di comando -i se desideri rendere interattivo tutto questo processo di eliminazione.

D4. Come fare in modo che ln crei un backup di file esistenti con lo stesso nome?

Se non vuoi che ln elimini i file esistenti con lo stesso nome, puoi fare in modo che crei un backup di questi file. Ciò può essere ottenuto utilizzando l'opzione della riga di comando -b. I file di backup creati in questo modo conterranno una tilde (~) verso la fine del loro nome.

Q5. Come creare collegamenti in una directory diversa dalla directory corrente?

È possibile specificare una particolare directory di destinazione (diversa da quella corrente) utilizzando l'opzione della riga di comando -t. Per esempio:

ls test* | xargs ln -s -t /home/himanshu/Desktop/

Il suddetto comando creerà collegamenti a tutti i file test* (presenti nella directory corrente) e li inserirà nella directory Desktop.

Conclusione

D'accordo, non è qualcosa di cui avrai bisogno quotidianamente, specialmente se sei un principiante. Ma è un comando utile da conoscere, poiché non sai mai quando ti salverà la giornata. Abbiamo discusso alcune utili opzioni della riga di comando offerte dallo strumento. Una volta che hai finito con questi, puoi saperne di più su ln andando al suo comando tee.