Recomandat, 2024

Alegerea Editorului

Diferența dintre legătura Hard și legătura Soft

Legăturile din Unix sunt în esență pointerii care se asociază fișierelor și directoarelor. Diferența majoră dintre o legătură greu și o legătură moale este că link-ul greu este referința directă la fișier, în timp ce legătura soft este referința după nume, ceea ce înseamnă că indică un fișier după numele fișierului.

Linkul greu leagă fișierele și directoarele în același sistem de fișiere, dar legătura Soft poate traversa granițele sistemului de fișiere.

Înainte de a înțelege legăturile, trebuie 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 fișierului, proprietarul fișierului și multe altele.

Diagramă de comparație

Bazele de comparațieLegătură tare
Legătura moale
De bazăUn fișier poate fi accesat prin numeroase nume cunoscute sub numele de link-uri grele.Un fișier poate fi accesat prin diferite referințe care indică faptul că fișierul este cunoscut ca un link moale.
Validare link, atunci când fișierul original este ștersÎncă valabilă și poate fi accesat fișierul.
Invalid
Comanda utilizată pentru creațieln
Inteleg
numărul inodeLa fel
Diferit
Poate fi legatLa partiția proprie.Pentru orice alt sistem de fișiere chiar și în rețea.
Consumul de memorieMai puținMai Mult
Cale relativăNu se aplicăPermis

Definiția Hard link

Legăturile grele leagă direct două fișiere din același sistem de fișiere, iar pentru identificare utilizează numărul de inode al fișierului. Legăturile greșite nu pot fi implementate pe directoare (deoarece indică inode). Când comanda " ln " este utilizată pentru a genera o legătură greu, ea creează un alt fișier pe linia de comandă care poate fi folosit pentru a trimite fișierul original. Atât fișierul original cât și fișierul generat au același inode și conținut; prin urmare, aceștia vor avea aceleași permisiuni și același proprietar.

Eliminarea fișierului original nu influențează fișierul hard-linked și va rămâne un fișier hard-linked. Inodul are un contor, pentru a calcula numărul de legături grele la el însuși. Când contorul indică valoarea 0, atunci inodul este golit. Ori de câte ori faceți orice modificare a link-ului dur, acesta va fi imitat în fișierul original.

Definiția Soft link

Link-urile liniare sunt de obicei o cale alternativă (sau un alias) pentru fișierul original; acestea sunt, de asemenea, numite legături simbolice . Acesta include numele fișierului țintă al linkurii, care indică faptul că acesta este un link moale. Atunci când un fișier este accesat, link-ul soft îl redirecționează către fișierul țintă prin calea scrisă în subiectul legăturii moi.

Acestea sunt foarte utile în cazul sistemelor de operare Windows unde legătura moale se comportă ca scurtături. Crearea și ștergerea legăturilor moi nu afectează fișierul original. Dacă fișierul țintă este șters, legătura soft se încurcă, ceea ce înseamnă că nu indică nicăieri și generează un mesaj de eroare la accesarea fișierului țintă. Link-urile moi nu utilizează numărul de inode, spre deosebire de legătura tare. O cale absolută sau relativă ar putea face parte din legăturile simbolice.

Diferențele cheie între legătura Hard și link-ul Soft

  1. Un link greu este un nume suplimentar al fișierului original care se referă la inode pentru a accesa fișierul țintă. În schimb, link-ul soft este diferit de fișierul original și este un alias al fișierului original, dar nu utilizează inode.
  2. Când un fișier original se șterge, legătura soft devine nevalidă, în timp ce un link greu este valabil chiar dacă fișierul țintă este șters.
  3. În Linux, comanda utilizată pentru crearea link-ului greu este " ln ". În schimb, comanda utilizată pentru o legătură moale este " ln-s ".
  4. Linkul greu are același număr inode diferit de linia soft, unde fișierul țintă și legătura lui moale au un număr inode distinct.
  5. Legăturile greșite sunt limitate la partițiile proprii, dar legăturile moi pot acoperi diferite sisteme de fișiere.
  6. Performanța legăturii grele este mai bună decât legătura soft în unele cazuri.
  7. Calea relativă și calea absolută sunt permise atât în ​​legăturile moi. Dimpotrivă, calea relativă nu este permisă într-o legătură greu.

Concluzie

O legătură greu nu necesită spațiu suplimentar și rezolva mai repede, dar modificările aplicate la o legătură greu se reflectă în fișierul original. Pe de altă parte, linkul Soft necesită un spațiu suplimentar, dar orice modificare a legăturii moi nu are impact asupra fișierului original. Linkurile moi sunt permise directoarelor spre deosebire de link-ul Hard.

Top