Un link simbolic (numit și link simbolic) este un tip de fișier din Linux care indică un alt fișier sau un folder de pe computer. Linkurile simulare sunt similare cu comenzile rapide din Windows.

Unii oameni numesc legături simbolice „legături soft” – un tip de legătură în sistemele Linux / UNIX – spre deosebire de „legături dure”.

Linkurile soft sunt similare cu comenzile rapide și pot indica un alt fișier sau director din orice sistem de fișiere.

Linkurile hard sunt, de asemenea, comenzi rapide pentru fișiere și foldere, dar nu poate fi creată o legătură hard pentru un folder sau fișier dintr-un alt sistem de fișiere.

Să ne uităm la pașii implicați în crearea și eliminarea unui link simbolic. Vom vedea, de asemenea, ce sunt linkurile rupte și cum să le ștergem.

Sintaxa pentru crearea unui link simbol este:

ln -s <path to the file/folder to be linked> <the path of the link to be created>

ln este comanda link. -s flag specifică faptul că linkul trebuie să fie soft. -s poate fi, de asemenea, introdus ca -symbolic.

În mod implicit, ln comanda creează legături dure. Următorul argument este path to the file (or folder) pe care doriți să o conectați. (Adică, fișierul sau folderul pentru care doriți să creați o comandă rapidă.)

Și ultimul argument este path to link în sine (comanda rapidă).

ln -s /home/james/transactions.txt trans.txt

După executarea acestei comenzi, veți putea accesa fișierul /home/james/transactions.txt cu trans.txt. Orice modificare adusă trans.txt vor fi reflectate și în fișierul original.

Rețineți că această comandă de mai sus ar crea fișierul de legătură trans.txt în directorul dvs. curent. De asemenea, puteți crea un fișier conectat într-un dosar care leagă acest lucru:

ln -s /home/james/transactions.txt my-stuffs/trans.txt

Trebuie să existe deja un director numit „obiectele mele” în directorul dvs. curent – dacă nu, comanda va genera o eroare.

Similar cu cele de mai sus, am folosi:

ln -s /home/james james

Aceasta ar crea un folder legat simbolic numit „james” care ar conține conținutul /home/james. Orice modificare a acestui folder legat va afecta și folderul original.

Înainte de a dori să eliminați un link simbolic, vă recomandăm să confirmați că un fișier sau un folder este un link simbolic, astfel încât să nu modificați fișierele dvs.

O modalitate de a face acest lucru este:

ls -l <path-to-assumed-symlink>

Rularea acestei comenzi pe terminalul dvs. va afișa proprietățile fișierului. În rezultat, dacă primul caracter este o literă mică L („l”), înseamnă că fișierul / folderul este o legătură simbolică.

De asemenea, veți vedea o săgeată (->) la sfârșit care indică fișierul / folderul către care se îndreaptă simlinkul.

Există două metode pentru a elimina un link simbolic:

Sintaxa este:

unlink <path-to-symlink>

Aceasta șterge legătura simbolică dacă procesul are succes.

Chiar dacă link-ul simbolic este sub forma unui folder, nu adăugați „/”, deoarece Linux va presupune că este un director și unlink nu poate șterge directoare.

După cum am văzut, un link simbolic este doar un alt fișier sau folder care indică un fișier sau folder original. Pentru a elimina relația respectivă, puteți elimina fișierul conectat.

Prin urmare, sintaxa este:

rm <path-to-symlink>

De exemplu:

rm trans.txt
rm james

Rețineți că încercarea de a face rm james/ ar rezulta o eroare, deoarece Linux va presupune că „james /” este un director, care ar necesita alte opțiuni precum r și f. Dar nu asta vrem. Un link simbolic poate fi un folder, dar ne preocupă doar numele.

Principalul beneficiu al rm peste unlink este că puteți elimina mai multe linkuri simbolice simultan, așa cum puteți face cu fișiere.

Legăturile întrerupte apar atunci când fișierul sau folderul către care se îndreaptă un link simbol schimbă calea sau este șters.

De exemplu, dacă „transactions.txt” se mută din /home/james la /home/james/personal, legătura „trans.txt” se întrerupe. Fiecare încercare de acces la fișier va avea ca rezultat o eroare „Nu există un astfel de fișier sau director”. Acest lucru se datorează faptului că linkul nu are conținut propriu.

Când descoperiți legături rupte, puteți șterge cu ușurință fișierul. O modalitate ușoară de a găsi link-uri simbolice rupte este:

find /home/james -xtype l

Aceasta va lista toate legăturile simbolice întrerupte în james director – de la fișiere la directoare până la subdirectoare.

Trecând de -delete opțiunea le va șterge astfel:

find /home/james -xtype l -delete

Înfășurându-se

Legătura simbolică este o caracteristică interesantă a sistemelor Linux și UNIX.

Puteți crea legături simbolice ușor accesibile pentru a vă referi la un fișier sau dosar la care altfel nu ar fi convenabil să accesați. Cu o anumită practică, veți înțelege cum funcționează acestea la un nivel intuitiv și vă vor face mult mai eficienți la gestionarea sistemelor de fișiere.