O legătură simbolică, denumită de obicei symlink, este un tip special de fișier care indică spre un alt fișier sau director. În loc să conțină date în sine, o legătură simbolică acționează ca o referință către o altă locație din sistemul de fișiere.
Legăturile simbolice sunt utilizate în mod obișnuit pentru a crea comenzi rapide, pentru a partaja fișiere între locații sau pentru a face fișierele și directoarele accesibile din mai multe căi, fără a duplica datele.
Cuprins
Cuprins
- Tipuri de legături
- Utilizarea comenzii
ln - Crearea unei legături simbolice către un fișier
- Crearea unei legături simbolice către un director
- Suprascrierea unei legături simbolice existente
- Eliminarea unei legături simbolice
- Rezumat
Tipuri de legături
Sistemele Linux și UNIX acceptă două tipuri de legături:
Legături fizice
O legătură hard este un nume suplimentar pentru un fișier existent.
Caracteristici:
- Mai multe nume de fișiere pot indica aceleași date ale fișierului.
- Modificările efectuate printr-o legătură sunt vizibile prin toate celelalte legături.
- Legăturile hard nu pot indica directoare.
- Legăturile hard nu pot traversa sisteme de fișiere sau partiții diferite.
Legături simbolice (legături soft)
O legătură simbolică este similară cu o comandă rapidă din Windows.
Caracteristici:
- Poate indica fișiere sau directoare.
- Poate indica locații de pe sisteme de fișiere sau partiții diferite.
- Conține o referință la calea de destinație, nu la datele propriu-zise.
Utilizarea comenzii ln
Comanda standard Linux utilizată pentru a crea legături este:
ln
În mod implicit, ln creează legături fizice.
Pentru a crea o legătură simbolică, utilizați opțiunea -s:
ln -s [OPȚIUNI] ȚINTĂ NUME_LINK
Unde:
TARGETeste fișierul sau directorul existent.LINK_NAMEeste numele legăturii simbolice care urmează să fie creată.
Dacă comanda se execută cu succes, nu se afișează nicio ieșire.
Crearea unei legături simbolice către un fișier
Pentru a crea o legătură simbolică către un fișier:
ln -s fișier-sursă legătură-simbolică
Exemplu
ln -s fișierul-meu.txt legătura-mea.txt
Aceasta creează o legătură simbolică numită:
my-link.txt
care indică spre:
my-file.txt
Verificarea legăturii simbolice
Utilizați:
ls -l my-link.txt
Exemplu de ieșire:
lrwxrwxrwx 1 username users 11 Dec 2 23:03 my-link.txt -> my-file.txt
Caracterul inițial:
l
indică faptul că fișierul este o legătură simbolică.
Săgeata:
->
indică destinația către care indică legătura.
Crearea unei legături simbolice către un director
Crearea unei legături simbolice către un director utilizează exact aceeași sintaxă.
Exemplu
ln -s /images ~/pictures
Aceasta creează:
~/pictures
ca o legătură simbolică care indică spre:
/ images
Orice acces la directorul pictures va redirecționa automat către directorul images.
Suprascrierea unei legături simbolice existente
Dacă există deja o legătură simbolică cu același nume, comanda va eșua:
ln -s my-file.txt my-link.txt
Rezultat:
ln: nu s-a putut crea legătura simbolică 'my-link.txt': Fișierul există
Pentru a suprascrie o legătură simbolică existentă, utilizați opțiunea -f (forțare):
ln -sf my-file.txt my-link.txt
Aceasta înlocuiește legătura simbolică existentă cu noua destinație.
Eliminarea unei legături simbolice
Puteți elimina legăturile simbolice folosind fie comanda unlink, fie comanda rm.
Utilizarea comenzii unlink
unlink nume-legătură-simbolică
Exemplu:
unlink my-link.txt
Utilizarea comenzii rm
rm my-link.txt
Ambele comenzi elimină doar legătura simbolică și nu afectează fișierul sau directorul original.
Notă importantă
Nu adăugați o bară oblică finală (/) atunci când eliminați o legătură simbolică către un director.
Incorect:
rm my-link/
Corect:
rm my-link
Legături simbolice defecte
Dacă fișierul sau directorul original este mutat sau șters, legătura simbolică rămâne la locul ei, dar nu mai indică o locație validă.
O astfel de legătură se numește legătură simbolică ruptă.
Exemplu:
rm my-file.txt
Legătura simbolică:
my-link.txt
există în continuare, dar nu mai funcționează deoarece ținta sa a fost eliminată.
Cazuri de utilizare frecvente
Creați o comandă rapidă
ln -s /home/user/projects/project1 ~/project1
Partajarea unui director între aplicații
ln -s /storage/uploads /var/www/html/uploads
Schimbați cu ușurință versiunile aplicațiilor
ln -s php83 php
Actualizarea legăturii simbolice ulterior vă permite să schimbați versiunile fără a modifica configurațiile aplicației.
Rezumat
Pentru a crea o legătură simbolică în Linux, utilizați:
ln -s TARGET LINK_NAME
Comenzi utile:
Creați o legătură simbolică:
ln -s fișier-sursă nume-legătură
Creați o legătură simbolică către un director:
ln -s /directoriul-sursă /link-destinație
Suprascrieți o legătură simbolică existentă:
ln -sf fișier-sursă nume-link
Eliminați o legătură simbolică:
unlink nume-link
sau
rm nume-link
Legăturile simbolice reprezintă o modalitate eficientă de a simplifica gestionarea fișierelor, de a crea comenzi rapide și de a organiza aplicațiile fără a duplica fișiere sau directoare.