Výukový program Symlink v systéme Linux - Ako vytvoriť a odstrániť symbolický odkaz

Symbolický odkaz (tiež nazývaný symbolický odkaz) je typ súboru v systéme Linux, ktorý smeruje na iný súbor alebo priečinok v počítači. Znakové odkazy sú podobné skratkám vo Windows.

Niektorí ľudia nazývajú symbolické odkazy „mäkké odkazy“ - typ odkazu v systémoch Linux / UNIX - na rozdiel od „pevných odkazov“.

Rozdiel medzi mäkkým a tvrdým odkazom

Mäkké odkazy sú podobné skratkám a môžu smerovať do iného súboru alebo adresára v ľubovoľnom systéme súborov.

Pevné odkazy sú tiež skratkami pre súbory a priečinky, ale pevný odkaz nie je možné vytvoriť pre priečinok alebo súbor v inom systéme súborov.

Pozrime sa na kroky spojené s vytvorením a odstránením symbolického odkazu. Uvidíme tiež, čo sú nefunkčné odkazy a ako ich odstrániť.

Ako vytvoriť odkaz Symlink

Syntax pre vytvorenie symbolického odkazu je:

ln -s   

lnje príkaz odkazu. K -surčuje príznak, že koncentrácia by mala byť mäkká. -sje možné zadať aj ako -symbolic.

Predvolene lnpríkaz vytvára tvrdé odkazy. Ďalším argumentom je path to the file (or folder), že chcete vytvoriť odkaz. (To znamená súbor alebo priečinok, pre ktorý chcete vytvoriť odkaz.)

A posledný argument je path to linksám (skratka).

Ako vytvoriť odkaz na súbor - príklad príkazu

ln -s /home/james/transactions.txt trans.txt 

Po spustení tohto príkazu, budete môcť pre prístup k /home/james/transactions.txts trans.txt. Všetky zmeny sa trans.txtprejavia aj v pôvodnom súbore.

Tento príkaz vyššie by vytvoril odkazový súbor trans.txtvo vašom aktuálnom adresári. Prepojený súbor môžete vytvoriť aj v prepojení priečinkov takto:

ln -s /home/james/transactions.txt my-stuffs/trans.txt 

Vo vašom aktuálnom adresári musí byť adresár, ktorý sa už nazýva „moje veci“ - ak nie, príkaz spôsobí chybu.

Ako vytvoriť odkaz na priečinok - príklad príkazu

Podobne ako v predchádzajúcom prípade by sme použili:

ln -s /home/james james 

Takto by sa vytvoril priečinok so symbolickým odkazom s názvom „james“, ktorý by obsahoval obsah súboru /home/james. Akékoľvek zmeny v tomto prepojenom priečinku ovplyvnia aj pôvodný priečinok.

Ako odstrániť symbolický odkaz

Pred odstránením symbolického odkazu môžete skontrolovať, či súbor alebo priečinok predstavuje symbolický odkaz, aby ste so svojimi súbormi nemanipulovali.

Jedným zo spôsobov, ako to dosiahnuť, je:

ls -l  

Spustením tohto príkazu na termináli zobrazíte vlastnosti súboru. Ak bude vo výsledku prvý znak malé písmeno L („l“), znamená to, že súbor / priečinok predstavuje symbolický odkaz.

Na konci by sa tiež zobrazila šípka (->) označujúca súbor alebo priečinok, na ktorý odkazuje odkaz.

Symbolický odkaz môžete odstrániť dvoma spôsobmi:

Ako používať Odpojiť na odstránenie odkazu Symlink

Syntax je:

unlink  

Týmto sa vymaže symbolický odkaz, ak je proces úspešný.

Aj keď je symbolický odkaz vo forme priečinka, nepridávajte znak „/“, pretože Linux bude predpokladať, že ide o adresár, a že unlinknemôže mazať adresáre.

Ako používať rm na odstránenie odkazu Symlink

Ako sme videli, symbolický odkaz je iba ďalší súbor alebo priečinok smerujúci na pôvodný súbor alebo priečinok. Ak chcete tento vzťah odstrániť, môžete odstrániť prepojený súbor.

Preto je syntax:

rm  

Napríklad:

rm trans.txt rm james 

Upozorňujeme, že pokus o to rm james/by spôsobil chybu, pretože Linux bude predpokladať, že adresár „james /“ bude vyžadovať ďalšie možnosti ako ra f. Ale to nie je to, čo chceme. Symbolický odkaz môže byť priečinok, ale zaoberáme sa iba menom.

Hlavnou výhodou rmover unlinkje, že môžete odstrániť viac symbolických odkazov naraz, ako to môžete urobiť so súbormi.

Ako nájsť a odstrániť nefunkčné odkazy

Nefunkčné odkazy sa vyskytujú, keď sa súbor alebo priečinok, na ktorý odkazuje symbolický odkaz, zmení cestu alebo je odstránený.

Napríklad ak sa súbor „operations.txt“ presunie z /home/jamesdo /home/james/personal, odkaz „trans.txt“ sa pokazí. Každý pokus o prístup k súboru bude mať za následok chybu „Žiadny takýto súbor alebo adresár“. Je to tak preto, lebo odkaz nemá vlastný obsah.

Keď objavíte nefunkčné odkazy, môžete súbor ľahko vymazať. Ľahký spôsob, ako nájsť nefunkčné symbolické odkazy, je:

find /home/james -xtype l 

Zobrazí sa zoznam všetkých nefunkčných symbolických odkazov v jamesadresári - od súborov cez adresáre po podadresáre.

Ak zadáte túto -deletemožnosť, odstránite ich takto:

find /home/james -xtype l -delete 

Balenie

Symbolické odkazy sú zaujímavou vlastnosťou systémov Linux a UNIX.

Môžete vytvoriť ľahko dostupné symbolické odkazy, ktoré odkazujú na súbor alebo priečinok, ku ktorému by sa inak nebolo vhodné dostať. S určitou praxou pochopíte, ako fungujú na intuitívnej úrovni, a vďaka čomu sa vám pri spravovaní súborových systémov bude efektívnejšie.