Cum se creează Hard Links Linux?

How Create Hard Links Linux



Conectarea este o caracteristică interesantă în Linux. În sistemele de operare asemănătoare UNIX, totul este un fișier. Un fișier este fundamental un link către un inod, un tip special de structură de date care stochează totul despre un anumit fișier, cu excepția numelui său original și a conținutului real. Aceasta este caracteristica care leagă pârghiile. A crea un link înseamnă a crea un alt fișier care indică același inod subiacent ca un alt fișier. În multe situații, este o metodă incredibil de utilă.

Vedeți cum să creați legături dure în Linux.







Legături dure în Linux

Înainte de a scufunda mai adânc, să vorbim puțin despre legăturile dure și ușoare. Există unele diferențe fundamentale între ele. În cazul unei legături dure, aceasta poate exista doar în același sistem de fișiere, în timp ce legătura simbolică va persista între sistemele de fișiere încrucișate. Mai mult decât atât, poate fi efectuat numai pe fișiere obișnuite. De asemenea, nu puteți crea link-uri de director direct, deci nu creează o buclă de director.



Dacă un fișier al legăturii hard este șters, acesta elimină legătura din inodul subiacent.



Comanda ls poate imprima inodul unui fișier / director țintă.





$eu sunt -la <file_or_dir>

Crearea de legături dure

Generarea unui link dur este destul de simplă. Pentru a crea legături, ln este instrumentul dedicat disponibil în aproape toate distribuțiile Linux.



Utilizați următoarea structură de comandă pentru a crea o legătură dură. Rețineți că destinația ar trebui să se afle în același sistem de fișiere. Steagul -v este pentru modul detaliat.

$ln -v <sursă> <legătură>


Verificați rezultatul.

$eu sunt -la <ţintă>


În ceea ce privește conectarea dură a directorului, nu este permisă. Ipotetic, este încă posibil să creați, dar majoritatea distribuțiilor Linux dezactivează această caracteristică, chiar dacă rulați acțiunea cu privilegiul root. Pentru legarea directoarelor, utilizați legături soft.

Link-uri soft

Legătura soft este denumită în mod obișnuit legături simbolice. Legătura soft poate fi sistem de fișiere încrucișate. Prin definiție, nu este un fișier standard, ci mai degrabă un fișier care indică un fișier existent. Aici, fișierul soft link va avea o valoare de inod diferită, dar indică fișierul original.

La fel ca și crearea de legături dure, vom folosi instrumentul ln. Pentru a declara crearea unui link soft, adăugați steagul -s.

$ln -vs <sursă> <destinaţie>


Verificați rezultatul.

$eu sunt -la <ţintă>

Dacă există deja un link, îl puteți actualiza folosind semnalizatorul -f care îl obligă pe ln să actualizeze linkul fără nicio confirmare. Alternativ, puteți utiliza steagul -i pentru crearea de linkuri interactive.

$ln -sf <sursă> <destinaţie>


Nu uitați să verificați rezultatul.

$eu sunt -la <ţintă>

Găsirea linkurilor

Presupunând că există mai multe legături către același fișier, urmărirea acestora poate deveni dificilă. Într-o astfel de situație, utilizați această metodă pentru a afla toate linkurile.

Pentru aceasta, avem nevoie de valoarea inode a fișierului original. Utilizați următoarea comandă pentru a afla numărul inodului.

$eu sunt -la <target_file>


Acum, utilizați numărul inodului pentru a afla toate linkurile către acel fișier. Aici, directorul activ curent ar trebui să fie directorul în care se află fișierul original.

$găsi.-inum <inode_value>

Ștergerea linkurilor

Dacă doriți să dezactivați un link dur, modalitatea de a face acest lucru este prin ștergerea fișierului legat.

$rm <legătură>

Gânduri finale

Conectarea este un instrument puternic pe care îl puteți utiliza în multe situații. Deși vine cu propriile limitări, poate oferi avantaje excelente multor scenarii.

Vă interesează mai multe detalii despre comanda ln? Verificați cum să utilizați comanda ln.

Calcul fericit!