Existují dva typy symbolických odkazů, pevné odkazy a měkké odkazy. Příkaz ln lze použít k vytvoření pevných i měkkých odkazů.
Pevné odkazy:
Jedná se pouze o jiný název stejného souboru. Můžete jej také nazvat alias. Pevné odkazy mají stejné číslo inodu jako původní soubor. Ve skutečnosti se tedy nijak neliší od původního názvu souboru s jiným názvem.
Pevné odkazy mají určitá omezení.
- Pro adresáře nelze vytvořit pevné odkazy. Lze jej vytvořit pouze pro soubory.
- Pevný odkaz na soubor uložený v souborovém systému nelze vytvořit v jiném souborovém systému.
- Pevný odkaz umístěný v oddílu nelze vytvořit v jiném oddílu nebo úložném zařízení.
Měkké odkazy:
Měkké odkazy v zásadě překonávají omezení pevných odkazů. Můžete vytvářet měkké odkazy na soubory a adresáře. Měkké odkazy mohou směřovat na soubory a adresáře umístěné v různých souborových systémech. Měkké odkazy mohou také ukazovat na soubory a adresáře umístěné v různých oddílech a různých úložných zařízeních, dokonce i v síťových připojeních.
Na rozdíl od pevných odkazů mají měkké odkazy vlastní čísla inodů. Jsou to tedy jiné soubory nebo adresáře než původní soubory nebo adresáře.
Nevýhodou měkkých odkazů je, že pokud je původní soubor nebo adresář přejmenován, přesunut nebo odstraněn, je odkaz přerušen. V takovém případě budete muset odkaz znovu provést ručně.
Příkaz ln je ve výchozím nastavení k dispozici v každé distribuci Linuxu. Nemusíte jej tedy instalovat samostatně.
V tomto článku vám ukážu, jak používat příkaz ln Linux k vytváření měkkých a tvrdých symbolických odkazů. Ukážu vám také, jak spravovat měkké a tvrdé symbolické odkazy vytvořené pomocí příkazu ln. Pojďme tedy začít.
Vytvoření a odebrání pevného symbolického odkazu:
Chcete-li vytvořit pevný odkaz na soubor (řekněme test.txt), spusťte následující příkaz:
$ ln test.txt test_hl.txt
POZNÁMKA: Tady, test_hl.txt je pevný odkaz na soubor test.txt.
Nyní, pokud zkontrolujete číslo inode (33577665 v mém případě) souborů test.txt a test_hl.txt, zjistíte, že oba soubory mají stejná čísla inodů. Očekává se to, protože jsme vytvořili pevný odkaz na soubor test.txt. Takže soubor odkazu test_hl.txt má také stejné číslo inodu jako test.txt soubor.
$ ls -li
Číslo 2 zde se podobá celkovému počtu souborů se stejným počtem inodů. V našem případě máme 2 soubory se stejným číslem inodu.
Pokud jste chtěli, můžete umístit pevný odkaz do jiného adresáře, a to následovně:
$ ln test.txt / dir1 / dir2 / test_hl.txtOdebrání pevného odkazu test_hl.txt, spusťte následující příkaz:
$ unlink test_hl.txt
Jak vidíte, test_hl.txt pevný odkaz již není uveden.
Vytváření a odebírání měkkých odkazů:
Chcete-li vytvořit měkký odkaz na soubor test.txt, spusťte následující příkaz:
$ ln -s test.txt test_sl.txt
Jak vidíte, měkký odkaz test_sl.txt testu souboru.txt je vytvořen. V seznamu ls používá měkký odkaz -> podepsat pro zobrazení odkazu na původní soubor. Všimněte si také, že čísla inode původního souboru test.txt (33577665) a měkký odkaz test_sl.txt (33577676) je jiný.
Můžete také vytvořit měkké odkazy adresářů.
Například vytvořit měkký odkaz na adresář /atd, spusťte příkaz ln následujícím způsobem:
$ ln -s / etc config
Jak vidíte, měkký odkaz konfigurace adresáře /atd je vytvořen.
Měkký odkaz na soubor nebo adresář můžete také umístit do jiného adresáře. Chcete-li to provést, spusťte příkaz ln následujícím způsobem:
$ ln -s test.txt / dir1 / dir2 / test_sl.txtNebo
$ ln -s test_dir / dir1 / dir2 / test_dir_slMůžete odstranit softwarový odkaz test_sl.txt takto:
$ unlink test_sl.txt
Aktualizace měkkých odkazů:
Někdy můžete smazat původní soubor nebo adresář, aniž byste odstranili měkký odkaz. Softwarový odkaz tak zůstane nefunkční. Nebo jste omylem vytvořili měkký odkaz na nesprávný soubor nebo adresář.
V obou případech můžete měkký odkaz velmi snadno aktualizovat pomocí -F možnost příkazu ln.
Řekněme, že chcete aktualizovat měkký odkaz test_sl.txt a propojit jej s novým souborem Ahoj.txt.
Chcete-li to provést, spusťte následující příkaz:
$ ln -sf ahoj.txt test_sl.txtJak vidíte, měkký odkaz je aktualizován.
Stejným způsobem můžete aktualizovat měkké odkazy na adresář nebo soubory v jiném adresáři.
Takto tedy pomocí příkazu Linux ln vytváříte měkké a tvrdé symbolické odkazy. Děkujeme za přečtení tohoto článku.