Cum să creați legături tari și simbolice în Linux


În sistemele de operare asemănătoare Unix, cum ar fi Linux, „totul este un fișier”, iar un fișier este în mod fundamental o legătură către un inod (o structură de date care stochează totul despre un fișier, în afară de numele și conținutul său real).

Un hard link este un fișier care indică același inod subiacent, ca un alt fișier. În cazul în care ștergeți un fișier, acesta elimină o legătură către inodul de bază. În timp ce o legătură simbolică (cunoscută și sub numele de soft link) este o legătură către un alt nume de fișier din sistemul de fișiere.

Citiți și: Cum să efectuați gestionarea fișierelor și a directoarelor

O altă diferență importantă între cele două tipuri de legături este că legăturile rigide pot funcționa numai în cadrul aceluiași sistem de fișiere, în timp ce legăturile simbolice pot trece prin sisteme de fișiere diferite.

Cum se creează legături rigide în Linux

Pentru a crea legături hard în Linux, vom folosi utilitatea ln. De exemplu, următoarea comandă creează o legătură rigidă numită tp către fișierul toprocs.sh.

ls -l
ln topprocs.sh tp
ls -l

Privind rezultatul de mai sus, folosind comanda ls, noul fișier nu este indicat ca link, este afișat ca fișier obișnuit. Aceasta implică faptul că tp este doar un alt fișier executabil obișnuit care indică același inode subiacent ca topprocs.sh.

Pentru a face o legătură hard direct într-o legătură soft, utilizați marcatorul -P în felul acesta.

ln -P topprocs.sh tp

Cum se creează legături simbolice în Linux

Pentru a crea legături simbolice în Linux, vom folosi același utilitate ln cu comutatorul -s. De exemplu, următoarea comandă creează o legătură simbolică numită topps.sh către fișierul topprocs.sh.

ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh

Din rezultatul de mai sus, puteți vedea din secțiunea de permisiuni de fișier că topps.sh este un link indicat de l:, ceea ce înseamnă că este un link către alt nume de fișier.

Dacă legătura simbolică există deja, este posibil să primiți o eroare, pentru a forța operațiunea (eliminați legătura simbolică care iese), utilizați opțiunea -f.

ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh

Pentru a activa modul verbose, adăugați indicatorul -v pentru a tipări numele fiecărui fișier legat din ieșire.

ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh

Asta este! Consultați următoarele articole conexe.

  1. fdupes – Un instrument de linie de comandă pentru a găsi și șterge fișierele duplicate în Linux
  2. 5 comenzi utile pentru a gestiona tipurile de fișiere și ora sistemului în Linux

În acest articol, am învățat cum să creăm legături tari și simbolice în Linux. Puteți pune orice întrebare sau puteți împărtăși părerile dvs. despre acest ghid prin intermediul formularului de feedback de mai jos.