Thursday Feb 03, 2022

Diferența dintre Hard link și Soft link

Legăturile în Unix sunt în esență pointeri care se asociază fișierelor și directoarelor. Diferența majoră între un hard link și un soft link este că hard link este referința directă la fișier, în timp ce soft link este referința prin nume, ceea ce înseamnă că indică un fișier prin numele fișierului.

Hard link leagă fișierele și directoarele din același sistem de fișiere, dar Soft link poate traversa limitele sistemului de fișiere.

Înainte de a înțelege legăturile ar trebui să înțelegem mai întâi inode, un inode este o structură de date compusă din metadate despre fișier, cum ar fi data creării fișierului, autorizațiile de fișier, proprietarul fișierului și altele.

Contenit: Hard link Vs Soft link

    1. Carte de comparație
    2. Definiție
    3. Diferențe cheie
    4. Concluzie

    Carte de comparație

    .

    .

    Bază de comparație Hard link Soft link
    Basic Un fișier poate fi accesat prin mai multe nume diferite, cunoscute sub numele de hard link-uri. Un fișier poate fi accesat prin diferite referințe care indică acel fișier este cunoscut sub numele de soft link.
    Validare link, când fișierul original este șters Este încă valabil și fișierul poate fi accesat. Invalid
    Comandă folosită pentru creare ln ln -s
    Număr de nod Identic Diferit
    Poate fi legat La propria partiție. La orice alt sistem de fișiere, chiar și în rețea.
    Consumul de memorie Mai puțin Mai mult
    Calea relativă Nu se aplică Autorizat

    Definiția legăturii hard link

    Legătura hard link leagă direct două fișiere din același sistem de fișiere, iar pentru identificare se folosește numărul de inod al fișierului. Hard link-urile nu pot fi implementate pe directoare (deoarece acestea indică inode-ul). Atunci când comanda „ln” este utilizată pentru a genera o legătură directă, aceasta creează un alt fișier în linia de comandă care poate fi utilizat pentru a face referire la fișierul original. Atât fișierul original, cât și cel generat au același inode și același conținut; prin urmare, vor avea aceleași permisiuni și același proprietar.

    Îndepărtarea fișierului original nu influențează fișierul hard linked, iar un fișier hard linked va rămâne. Inode-ul deține un contor, pentru a calcula numărul de hard link-uri către el însuși. Atunci când contorul indică valoarea 0, atunci inode-ul este golit. Ori de câte ori faceți modificări în hard link, acesta va imita în fișierul original.

    Definirea legăturii soft

    Legăturile soft sunt de obicei o cale alternativă (sau un alias) pentru fișierul original; acestea sunt denumite și legături simbolice. Acesta include numele „fișierului țintă” al legăturii, indicator care specifică faptul că este o legătură soft. Atunci când un fișier este accesat, soft link-ul îl redirecționează către fișierul țintă prin intermediul căii scrise în subiectul soft link-ului.

    Acestea sunt foarte utile în cazul sistemelor de operare Windows, unde soft link-ul se comportă ca niște scurtături. Crearea și ștergerea soft link-urilor nu afectează fișierul original. Dacă fișierul țintă este șters, soft link-ul pendulează, ceea ce înseamnă că nu indică nicăieri și generează un mesaj de eroare atunci când fișierul țintă este accesat. Legăturile soft nu utilizează numărul de inode, spre deosebire de legăturile hard. O cale absolută sau o cale relativă poate face parte din legăturile simbolice.

    Diferențe cheie între hard link și soft link

    1. Un hard link este un nume suplimentar al fișierului original care face referire la inode pentru a accesa fișierul țintă. În schimb, soft link-ul este distinct de fișierul original și este un alias al fișierului original, dar nu utilizează inode.
    2. Când un fișier original este șters, soft link-ul devine invalid, în timp ce un hard link este valabil chiar dacă fișierul țintă este șters.
    3. În Linux, comanda utilizată pentru crearea hard link-ului este „ln”. Spre deosebire de aceasta, comanda utilizată pentru un soft link este „ln -s”.
    4. Hard link are același număr de inode, spre deosebire de soft link, unde fișierul țintă și soft link-ul său au numere de inode distincte.
    5. Hard link-urile sunt limitate la propriile partiții, dar soft link-urile pot acoperi diferite sisteme de fișiere.
    6. Performanța hard link-ului este mai bună decât cea a soft link-ului în unele cazuri.
    7. Calea relativă și calea absolută sunt ambele permise în soft link-uri. Dimpotrivă, calea relativă nu este permisă într-un hard link.

    Concluzie

    Un hard link nu necesită spațiu suplimentar și mat rezolvă mai repede, dar modificările aplicate unui hard link se reflectă în fișierul original. Pe de altă parte, Soft link are nevoie de spațiu suplimentar, dar orice modificare aplicată în soft link nu are impact asupra fișierului original. Legăturile soft sunt permise pentru directoare, spre deosebire de legăturile hard.

    .

Lasă un răspuns

Adresa ta de email nu va fi publicată.

Back to Top