Gli utenti UNIX e Linux trovano molti usi per i collegamenti, in particolare i collegamenti simbolici. Un modo in cui mi piace usare i collegamenti simbolici è gestire i backup di configurazione di varie apparecchiature IT.
Ho una struttura di directory per contenere tutto ciò che riguarda documentazione, aggiornamenti e altri file per i computer e i dispositivi sulla mia rete. I dispositivi possono includere router, punti di accesso, server NAS e laptop, spesso di marche e versioni diverse. I backup di configurazione stessi potrebbero trovarsi in profondità all'interno dell'albero delle directory, ad es. /home/alan/Documents/network/device/NetgearRL5000/config
.
Per semplificare il processo di backup, ho una directory nella mia home chiamata Configuration
. Uso i collegamenti simbolici da questa directory per puntare alla directory del dispositivo specifica:
:~/Configuration/ $ ls -F1
Router@
Accesspoint@
NAS@
Nota :Il -F
opzione di ls
Il comando aggiunge caratteri speciali a ciascun nome di file per rappresentarne il tipo. Come mostrato sopra, il @
il simbolo indica che si tratta di collegamenti.
Creazione di un collegamento
Il collegamento simbolico Router punta a config
directory del mio Netgear RL5000. Il comando per crearlo è ln -s:
$ ln -s /home/alan/Documents/network/device/NetgearRL5000/config Router
Quindi, dai un'occhiata e conferma con ls -l:
:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/NetgearRL5000/config
NAS -> /home/alan/Documents/network/device/NFSBox/config
...
Il vantaggio è che quando eseguo la manutenzione su questo dispositivo, accedo semplicemente a ~/Configuration/Router
.
Il secondo vantaggio dell'utilizzo di un link simbolico diventa evidente se decido di sostituire questo router con un nuovo modello. Potrei riassegnare il vecchio router come punto di accesso. Pertanto, la sua directory non viene eliminata. Invece, ho una nuova directory che corrisponde al nuovo router, forse un ASUS DF-3760. Creo la directory e ne confermo l'esistenza:
$ mkdir -p ~/Documents/network/device/ASUSDF-3760/config
:~/Documents/network/device/ $ ls
NetgearRL5000
ASUSDF-3760
NFSBox
...
Un altro esempio potrebbe essere se disponi di più punti di accesso nei tuoi uffici. Puoi utilizzare collegamenti simbolici per rappresentarli in modo logico con un nome generico, come ap1
, ap2
e così via, oppure puoi usare parole descrittive come ap_floor2
, ap_floor3
, ecc. In questo modo, poiché i dispositivi fisici cambiano nel tempo, non è necessario aggiornare continuamente i processi che potrebbero gestirli poiché indirizzano i collegamenti anziché le directory dei dispositivi effettive.
Aggiornamento di un collegamento
Poiché il mio router principale è cambiato, voglio che il collegamento simbolico del router punti alla sua directory. Potrei usare il rm
e ln
comandi per rimuovere e creare un nuovo collegamento simbolico, ma c'è un modo per farlo in un solo passaggio usando solo il ln
comando con alcune opzioni:
:~/Configuration/ $ ln -vfns ~/Documents/network/device/ASUSDF-3760/config/ Router
'Router' -> '/home/alan/Documents/network/device/ASUSDF-3760/config/'
:~/Configuration/ $ ls -l
Router -> /home/alan/Documents/network/device/ASUSDF-3760/config
NAS -> /home/alan/Documents/network/device/NFSBox/config
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Le opzioni, secondo la pagina man, sono le seguenti:
-v, --verbose
stampa il nome di ogni file collegato
-f, --force
rimuovi il file di destinazione (necessario poiché esiste già un collegamento)
-n, --no-dereference
tratta LINK_NAME come un file normale se è un collegamento simbolico a una directory
-s, --symbolic
crea collegamenti simbolici invece di collegamenti reali
Concludi
I collegamenti sono una delle funzionalità più potenti dei file system UNIX e Linux. Altri sistemi operativi hanno cercato di imitare questa capacità, ma quelli non hanno mai funzionato così bene o sono stati così utilizzabili a causa della mancanza di un design di collegamento fondamentale nei loro file system.
La dimostrazione di cui sopra è solo una delle molte possibilità di sfruttare i collegamenti per navigare senza problemi in una struttura di directory in continua evoluzione in un ambiente di produzione vivente. Links offre la flessibilità necessaria in un'organizzazione che non è mai statica a lungo.