⛓️ Sisteme Linux: Link-uri hard și link-uri simbolice

Imagine: ⛓️ Sisteme Linux: Link-uri hard și link-uri simbolice

⛓️ Sisteme Linux: Link-uri hard și link-uri simbolice

În acest articol vom vorbi despre link-uri, sau legături, din sistemul de operare Linux. Vom analiza ce sunt acestea, cum funcționează și cum pot fi utilizate în mod eficient pentru a îmbunătății lucrul cu fișiere!

Ce sunt legăturile de fișiere?

În Linux, unul dintre tipuri de fișiere prezente este tipul „legătură”. Un link reprezintă metoda de a oferi unui fișier identitatea altuia. Pe scurt, facem o paralelă cu sistemul de operare de la Microsoft, shortcut-uriledin Windows.

Dorim să folosim acest tip de fișier din mai multe motive, printre care se numără: schimbarea sau oferirea de nume auxiliare fișierelor / comenzilor, motive de accesibilitate (de exemplu link-uri pe desktop), sau accesarea acestora din mai multe locuri (atât de utilizator, cât și de sistem).

După cum am menționat și mai sus, aceste legături se împart în doua categorii: legături simbolice (symbolic link) sau legături solide (hard link), fiecare având particularități și rol diferit. Cele mai folosite de utilizatorul final vor fi link-urile simbolice, însă, sunt importante și cele hard!

Legăturile simbolice

Legăturile simbolice sunt fișiere speciale care redirecționează către alte fișiere situate într-o anumită locație. Le putem compara cu pointerii din limbajele de programare de nivel scăzut, precum C sau C++.

Sistemul de operare recunoaște acest tip de fișier ca fiind o referință la un fișier „real”. Astfel, pentru utilizatori sau aplicații, folosirea link-urilor simbolice este identică cu utilizarea fișierelor sau directoarelor originale, fiind practic o scurtătură către acestea.

Link-urile simbolice utilizează un nou număr de inode, un identificator unic în sistemul de fișiere. De asemenea, acest tip de legătură permite conectarea fișierelor din sisteme de fișiere diferite, indiferent unde sunt acestea montate.

Dacă fișierul sau directorul țintă este șters, legătura simbolică devine "broken" (ruptă) și nu va mai redirecționa către un fișier valid. Permisiunile pentru legătura simbolică nu contează, cele care se aplică sunt cele ale fișierului țintă.

Legăturile hard (solide)

Link-urile hard sunt de fapt copii identice ale fișierului țintă, având două sau mai multe intrări care indică același fișier. Acestea folosesc același număr de inode, împărțind astfel majoritatea proprietăților fișierului original.

Datorită procesului de creare, fișierele cu același identificator unic nu pot fi create în sisteme de fișiere diferite. Ca urmare, pentru acest tip de legătură contează locul unde sunt montate fișierele. Link-urile hard pot ținti doar către fișiere, nu și către directoare, cu excepția cazului în care sunt utilizate în structura de sistem de fișiere (cum ar fi legăturile implicite către directoarele părinte și curente).

Dacă unul dintre legăturile hard este șters, fișierul rămâne accesibil prin celelalte link-uri. Dacă fișierul este șters, acesta continua să fie accesibil prin intermediul celorlalte link-uri.

Toate link-uri au aceleași permisiuni și atribute ca fișierul original, împărțind același inode. Orice modificare a uneia dintre legăturile solide se reflectă în toate.

Link-urile hard nu ocupă spațiu suplimentar pe disc, toate împărțind conținutul aflat deja pe disc într‐un singur loc.

Folosirea legăturilor în Linux

Crearea legăturilor se face folosind comanda ls, pentru legăturile solide, respectiv comanda ls -l, pentru cele simbolice. Această comandă primește întâi numele fișierului / directorului, apoi numele legăturii.

În imaginile de mai jos puteți vedea cum am creat un hard link și un symbolic link pentru fișierul „fisier1”, iar apoi, am accesat conținutul fiecăruia pentru a arată conectarea acestora.

crearea legăturilor verificarea legăturilor
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2024 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate