Metode de plată Abuse

Eliminarea legăturilor în Linux

10.04.2022, 01:05

O legătură în Linux este un fișier special care se referă la un alt fișier sau director. În acest fel, un fișier poate fi plasat în mai multe locuri în același timp. Atunci când fișierul original este șters, legătura este păstrată. Acest lucru poate duce la blocaje și, în general, înfundă sistemul.

Cum să ștergeți o legătură

Pentru început, să explicăm metoda de verificare a faptului că fișierul este de fapt o legătură. Acest lucru se face în mod convenabil cu ajutorul utilitarului ls. După aceea, să ne uităm la trei metode de eliminare, fiecare cu particularitățile sale.

Verificarea faptului că este o legătură

Cu ajutorul lui ls este convenabil să vedeți informații despre fișier. Pentru a utiliza utilitarul, dați-i opțiunea -l și specificați calea. Ca exemplu, să luăm fișierul ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Eliminarea legăturilor în Linux

Puteți verifica un întreg catalog pentru legături:

$ ls -l ~/symlin

Eliminarea legăturilor în Linux

Un fișier care nu este necesar este marcat cu o săgeată caracteristică după numele său.

Utilizarea Rm

Comanda rm poate fi utilizată pentru a șterge orice fișier din sistemul de fișiere Linux, inclusiv link-urile. Adică, este potrivită pentru sarcina noastră. Este important să menționăm aici că fișierul sau directorul original nu va fi afectat ca urmare a ștergerii legăturii.

În terminal, executați comanda:

$ rm ~/symlinks/link_1

Eliminarea legăturilor în Linux

De asemenea, pentru a obține informații detaliate despre procedură, adăugați opțiunea -v la comandă:

$ rm -v ~/symlinks/link_1

Eliminarea legăturilor în Linux

În plus, puteți verifica dacă legătura a dispărut din director. Pentru a face acest lucru, utilizați comanda ls descrisă anterior.

Eliminarea legăturilor în Linux

Acum știți cum să eliminați o legătură simbolică Linux.

Utilizarea UNLINK

Utilitarul unlink este conceput pentru a elimina fișiere din sistemul de fișiere Linux. Acesta trebuie doar să specifice calea către link:

$ unlink ~/symlinks/link_1

Eliminarea legăturilor în Linux

În cadrul sarcinii la îndemână, rm și unlink funcționează aproape identic. Acum să trecem la ultima metodă.

Utilizarea comenzii Find

Cu ajutorul comenzii find puteți căuta și șterge link-uri într-un anumit director. Acest lucru înseamnă că nu trebuie să utilizați ls în plus.

Eliminarea legăturilor în Linux

Spre deosebire de cele două opțiuni anterioare, aceasta are caracteristici destul de avansate, de exemplu, setarea criteriilor de căutare. Dar sintaxa nu este atât de simplă nici din acest motiv.

Pentru a căuta, trebuie să specificați un director și câțiva parametri:

$ find ~/symlinks/ -type l -print

Eliminarea legăturilor în Linux

Parametrul -type l este necesar pentru a selecta numai legăturile simbolice, -print pentru a emite numele complet. Și cu ajutorul parametrului -maxdepth puteți specifica adâncimea de căutare prin directoare imbricate. Dacă specificați 1, căutarea va fi efectuată numai pe directorul în sine, fără anexe:

$ find ~/symlinks/ -maxdepth 1 -type l -print

Eliminarea legăturilor în Linux

Odată ce există multe legături în director, puteți specifica un model de căutare pentru comanda find. Ca exemplu, să luăm o situație în care dorim să găsim numai legăturile ascunse cu o dată a ultimei modificări nu mai mare de 30 de zile:

$ find ~/data/ -type l -name ".*" -mtime -30 -print

Eliminarea legăturilor în Linux

Au fost adăugate două criterii:

  • -name - căutare după nume.
  • -mtime - după ora modificării.

Toate legăturile găsite pot fi șterse în conformitate cu modelul specificat. În acest scop, -print este înlocuit cu -delete:

$ find ~/data/ -type l -name ".*" -mtime -30 -delete

Eliminarea legăturilor în Linux

La sfârșitul instrucțiunii să ne ocupăm de căutarea și ștergerea legăturilor întrerupte care nu duc nicăieri, de exemplu, după ștergerea fișierului sau directorului original. Parametrul -xtype l este potrivit pentru acest scop. -print nu este necesar pentru ieșire:

$ find ~/broken_links/ -xtype l

Eliminarea legăturilor în Linux

Ca rezultat, toate legăturile întrerupte vor fi afișate în terminal. Pentru a le elimina, adăugați -delete la sfârșitul comenzii:

$ find ~/broken_links/ -xtype l -delete

Eliminarea legăturilor în Linux

Acest lucru completează instrucțiunile pentru ștergerea unei legături în Linux.