GNU/Linux >> Linux Esercitazione >  >> Linux

Come aggiornare un collegamento simbolico Linux

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.


Linux
  1. Come rinominare una directory su Linux

  2. Come gzippare una directory in Linux

  3. Come aggiornare Debian Linux

  4. Come ottenere la dimensione della directory in Linux

  5. Come posso collegare simbolicamente un file in Linux?

Come eseguire tutti gli script in una directory in Linux

Come configurare SFTP in chroot in Linux

Come collegare simbolicamente un file in Linux

Come copiare la directory su Linux

Come contare i file nella directory su Linux

Come trovare collegamenti simbolici interrotti in Linux