Spôsoby platby Abuse

Odstránenie odkazov v systéme Linux

10.04.2022, 01:05

Odkaz v systéme Linux je špeciálny súbor, ktorý odkazuje na iný súbor alebo adresár. Takto môže byť jeden súbor umiestnený na viacerých miestach naraz. Po odstránení pôvodného súboru sa odkaz zachová. To môže mať za následok pády a vo všeobecnosti zahlcuje systém.

Ako odstrániť odkaz

Na úvod si vysvetlíme spôsob kontroly, či je súbor skutočne odkazom. To sa pohodlne vykonáva pomocou nástroja ls. Potom sa pozrime na tri spôsoby odstránenia, z ktorých každý má svoje špecifiká.

Overenie, či ide o odkaz

Pomocou nástroja ls je vhodné zobraziť informácie o súbore. Ak chcete použiť tento nástroj, zadajte mu možnosť -l a zadajte cestu. Ako príklad si zoberme súbor ~/symlinks/link_1:

$ ls -l ~/symlinks/link_1

Odstránenie odkazov v systéme Linux

Môžete skontrolovať celý katalóg odkazov:

$ ls -l ~/symlin

Odstránenie odkazov v systéme Linux

Súbor, ktorý nie je potrebný, je označený charakteristickou šípkou za svojím názvom.

Používanie Rm

Príkaz rm možno použiť na odstránenie akéhokoľvek súboru v súborovom systéme Linux vrátane odkazov. To znamená, že je vhodný pre našu úlohu. Tu je dôležité spomenúť, že pôvodný súbor alebo adresár nebude v dôsledku odstránenia odkazu ovplyvnený.

V termináli spustite príkaz:

$ rm ~/symlinks/link_1

Odstránenie odkazov v systéme Linux

Ak chcete získať aj podrobné informácie o postupe, pridajte do príkazu možnosť -v:

$ rm -v ~/symlinks/link_1

Odstránenie odkazov v systéme Linux

Okrem toho môžete skontrolovať, či odkaz z adresára zmizol. Na tento účel použite predtým opísaný príkaz ls.

Odstránenie odkazov v systéme Linux

Teraz už viete, ako odstrániť symbolický odkaz v systéme Linux.

Použitie príkazu UNLINK

Nástroj unlink je určený na odstraňovanie súborov zo súborového systému Linux. Stačí mu zadať cestu k odkazu:

$ unlink ~/symlinks/link_1

Odstránenie odkazov v systéme Linux

V rámci tejto úlohy pracujú rm a unlink takmer identicky. Teraz prejdime k poslednej metóde.

Použitie funkcie Find

Pomocou príkazu find môžete vyhľadávať a odstraňovať odkazy v danom adresári. To znamená, že nemusíte dodatočne používať príkaz ls.

Odstránenie odkazov v systéme Linux

Na rozdiel od predchádzajúcich dvoch možností má pomerne pokročilé funkcie, napríklad nastavenie kritérií vyhľadávania. Syntax však ani z tohto dôvodu nie je taká jednoduchá.

Ak chcete vyhľadávať, musíte zadať adresár a niekoľko parametrov:

$ find ~/symlinks/ -type l -print

Odstránenie odkazov v systéme Linux

Parameter -type l je potrebný na výber len symbolických odkazov, parameter -print na vypísanie celého názvu. A pomocou parametra -maxdepth môžete určiť hĺbku vyhľadávania podľa vnorených adresárov. Ak zadáte 1, vyhľadávanie sa vykoná len v samotnom adresári bez príloh:

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

Odstránenie odkazov v systéme Linux

Akonáhle je v adresári veľa odkazov, môžete zadať vzor vyhľadávania pre príkaz find. Ako príklad si zoberme situáciu, keď chceme nájsť len skryté odkazy s dátumom poslednej zmeny nie starším ako 30 dní:

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

Odstránenie odkazov v systéme Linux

Boli pridané dve kritériá:

  • -name - vyhľadávanie podľa názvu.
  • -mtime - podľa času zmeny.

Všetky nájdené odkazy možno odstrániť podľa zadaného vzoru. Na tento účel je príkaz -print nahradený príkazom -delete:

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

Odstránenie odkazov v systéme Linux

Na záver návodu sa venujme vyhľadávaniu a mazaniu nefunkčných odkazov, ktoré nikam nevedú, napríklad po vymazaní pôvodného súboru alebo adresára. Na tento účel je vhodný parameter -xtype l. Parameter -print sa na výstup nevyžaduje:

$ find ~/broken_links/ -xtype l

Odstránenie odkazov v systéme Linux

Výsledkom bude, že sa v termináli zobrazia všetky nefunkčné odkazy. Ak ich chcete odstrániť, pridajte na koniec príkazu parameter -delete:

$ find ~/broken_links/ -xtype l -delete

Odstránenie odkazov v systéme Linux

Tým je návod na odstránenie odkazu v Linuxe ukončený.