Před lety, když jsem poprvé začal s Linuxem a nosil jsem oblečení mladšího muže, byla pro mě jednou z nejnáročnějších věcí k pochopení na Linuxu koncept symbolických odkazů a jejich použití v prostředí Linuxu.
Nyní, téměř o dvě desetiletí později, to konečně chápu. V tomto článku se pokusím přesně vysvětlit, co je to symbolický odkaz, rozdíly mezi pevným odkazem a symbolickým odkazem neboli symbolickým odkazem, jak vytvořit a odstranit oba typy a jejich hodnotu v prostředí Linuxu.
Co je to pevný odkaz?
V Linuxu a Linuxu podobných operačních systémech je prakticky vše soubor. S ohledem na to je v Linuxu soubor pouze odkaz na inode. Inode je datová struktura, která udržuje vše o souboru oddělené od jeho názvu a skutečného obsahu.
Někteří uživatelé Linuxu rádi uvažují o pevném odkazu jako o zvláštním názvu existujícího souboru. Když tedy vytvoříte pevný odkaz, pouze přiřadíte dva nebo více názvů souborů ke stejnému inodu.
Pro uživatele, kteří jsou obeznámeni se systémem Windows, je pevný odkaz v systému Linux podobný pevnému odkazu systému Windows, který vytvoříte pomocí příkazu DOS:
C:/> mklink /h "link" "target"
To vypadá jako problematický koncept. Podívejme se, zda vytvoříme pevný odkaz v terminálu Linux; dělá věci jasnější.
Jak vytvořit pevný odkaz
Používáme ln příkaz k vytvoření odkazových souborů v Linuxu. Formát příkazu ln k vytvoření pevného odkazu je:
# ln "source" "link" # ln "/path/to/source" "/path to link" # ln "target" "link" # ln "target" "directory"
Kde „zdroj“ je existující soubor a „odkaz“ je soubor, který se má vytvořit, nebo náš pevný odkaz.
V následujícím příkladu tedy přejdeme na
Vytvořte náš „zdrojový“ soubor.
# echo 'This is the FOSS Linux Hard Link example' > FOSS
Vytvořte náš soubor „odkaz“.
# ln FOSS Linux
Uveďte náš vytvořený „zdrojový“ soubor (FOSS) a náš „odkazový soubor“ (Linux).
# ls -li FOSS Linux
Pokud se podíváte na náš výstup z našeho ls můžeme vidět, že se inody shodují. Použili jsme -i možnost konkrétně s naším příkazem ls, abychom viděli inody našich souborů, v tomto případě 9448255 , pro oba. Pamatujte, s pevnými odkazy; „pouze přidružujeme dva nebo více názvů souborů ke stejnému inodu.“
Všimněte si také, že třetí sloupec našeho výstupu zobrazuje číslo 2 . To je celkový počet pevných odkazů na soubor. Zde, 2 .
Všimněte si, že nemůžete vytvořit pevné odkazy pro adresář. Takže jste například nemohli vytvořit pevný odkaz odkazující na adresář /home/tut . Nemůžete také vytvářet pevné odkazy pro adresáře a soubory na jiném souborovém systému nebo oddílu.
Co je to symbolický odkaz?
Symbolické odkazy nebo symbolické odkazy (někdy nazývané měkké odkazy) pro mě byly mnohem snáze stravitelné než pevné odkazy. Chcete-li získat podstatu symbolického odkazu, představte si zástupce systému Windows. Že veškerý symbolický odkaz je ukazatel (nebo zástupce) na skutečný soubor. Na rozdíl od pevných odkazů nejsou symbolické odkazy dva soubory odkazující na stejný inode. Místo toho je symbolický odkaz pouze ‚zástupcem‘ ke skutečnému souboru.
Vytvořme příklad symbolického odkazu a prozkoumáme, co tím myslím.
Jak vytvořit symbolický odkaz
Stejně jako u pevného odkazu používáme ln příkaz k vytvoření symbolického odkazu. Pouze k vytvoření symbolického odkazu používáme -s kvalifikátor (ln -s ) k určení, že odkaz, který vytváříme, je symbolický odkaz.
Vytvořme symbolický odkaz. Budete si pamatovat, kde jsme dříve skončili s našimi pevnými odkazy. Na tom budeme stavět.
Pojďme vytvořit soubor se symbolickým odkazem.
# ln -s FOSS Is_Great
Nyní se podíváme na naše soubory.
# ls -li FOSS Linux Is_Great
Při pohledu na náš aktualizovaný výstup z našich upravených ls příkazu, vidíme, že se s našimi pevnými odkazy nic nezměnilo, ale náš symbolický odkaz je nyní zahrnut. Inode našeho nového souboru se liší od našich dvou pevných odkazů a druhý sloupec začíná l . l označuje, že soubor je symbolický odkaz. Můžete vidět, že nově vytvořený symbolický odkaz (nebo zástupce) ukazuje na soubor, pro který je symbolickým odkazem. Zde FOSS (Is_Great> FOSS ).
Závěr
Doufejme, že po přečtení našeho článku lépe pochopíte pevné odkazy a symbolické odkazy nebo symbolické odkazy. Pokud máte potíže, nemohu ln man doporučit stránku dost.
Máte-li dotazy, zeptejte se v komentářích níže a my se s vámi opět spojíme.