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
ln
je príkaz odkazu. K -s
určuje príznak, že koncentrácia by mala byť mäkká. -s
je možné zadať aj ako -symbolic
.
Predvolene ln
prí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 link
sá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.txt
s trans.txt
. Všetky zmeny sa trans.txt
prejavia aj v pôvodnom súbore.
Tento príkaz vyššie by vytvoril odkazový súbor trans.txt
vo 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 unlink
nemôž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 r
a f
. Ale to nie je to, čo chceme. Symbolický odkaz môže byť priečinok, ale zaoberáme sa iba menom.
Hlavnou výhodou rm
over unlink
je, ž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/james
do /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 james
adresári - od súborov cez adresáre po podadresáre.
Ak zadáte túto -delete
mož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.