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”.
Diferența dintre un Soft Link și un Hard Link
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.
Cum să creați un Symlink
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ă).
Cum se creează un Symlink pentru un fișier – Exemplu de comandă
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.
Cum se creează un Symlink pentru un folder – Exemplu de comandă
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.
Cum se elimină un link simbolic
Î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:
Cum se folosește Deconectare pentru a elimina un Symlink
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.
Cum se utilizează rm pentru a elimina un Symlink
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.
Cum să găsiți și să ștergeți linkuri rupte
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.