Jak vytvořit symbolické odkazy (symlinky) v Linuxu


Linux nemá zkratky, ale má symbolické odkazy – neboli symbolické odkazy, jak se jim obvykle říká. Ale co přesně jsou symbolické odkazy? A jak si ho vytvoříte? Pojďme to zjistit.

Budeme zkoušet příkazy na instalace Ubuntu, i když syntaxe funguje stejně na všechny linuxové distribuce. Je zajímavé, že symbolické odkazy lze vytvářet také na počítači Mac.

Co jsou symbolické odkazy?

Chcete-li mít k souboru přístup z více míst, není jeho zkopírování dobrým řešením. Plýtváte místem na disku, nemluvě o tom, že je obtížné sledovat změny kvůli více souborům.

V operačním systému založeném na grafickém uživatelském rozhraní byste to překonali vytvořením zástupců. Pro operační systém založený na CUI (jako jakékoli linuxové distro ) je odpovědí symbolický odkaz. Dokonce i Microsoft Windows dokáže využít symbolické odkazy v některé situace.

Symbolický odkaz nebo symbolický odkaz je pouze soubor ukazující na jiný soubor nebo adresář – dokonce i ve zcela jiném systému souborů nebo oddílu. Otevřením symbolického odkazu získáte přístup ke stejnému původnímu souboru se všemi změnami, které se projeví i v hlavním souboru.

To platí také pro oprávnění – použití chmod ke změně oprávnění souboru symbolického odkazu ve skutečnosti změní oprávnění cílového souboru.

Typy symbolických odkazů

Symbolické odkazy jsou také známé jako měkké odkazy. Jak název může napovídat, není to jediný typ systému pro propojení souborů v Linuxu. Pevné odkazy lze v určitých situacích použít jako alternativu k symbolickým odkazům, i když s nimi souvisí řada omezení.

Začněte tím, že pevné odkazyjsou jednoduše názvy souborů odkazující na stejné inode. I když jsou díky tomu velmi efektivní, pokud jde o úložiště a rychlost přístupu, omezuje je to také na soubory ve stejném systému souborů nebo oddílu. A kvůli zvláštnosti jak funguje přístup ke složce v Linuxu nemůžete používat pevné odkazy ani pro adresáře.

Na druhou stranu

Měkké odkazy nebo Symbolické odkazyjsou spíše zástupce na ploše. Každý měkký odkaz je v podstatě malý soubor, který ukazuje na původní data, aniž by s nimi byl přímo spojen. To znamená, že měkké odkazy mohou snadno ukazovat na soubory a adresáře na jiných oddílech a souborových systémech bez jakýchkoli omezení.

Pevné odkazy VS měkké odkazy – jaký typ použít?.

Měkké odkazy jsou nejuniverzálnější formou odkazů, protože je lze použít na soubory i adresáře ve více souborových systémech bez jakýchkoli omezení. Ale proč potom máme pevné odkazy? Poskytují vám oproti symbolickým odkazům nějaké výhody?

No, na papíře jsou pevné odkazy efektivnější. Protože používají stejné inody, nezabírají další místo na disku a lze k nim přistupovat mnohem rychleji než měkké odkazy. To je důvod, proč mnoho systémových administrátorů doporučí používat pevné odkazy, kdykoli je to možné.

Jak již bylo řečeno, nevýhody používání symbolických odkazů jsou minimální. Zejména moderní počítače se ve skutečnosti nestarají o několik kilobajtů úložného prostoru navíc, a pokud systém nenaplňujete miliony měkkých odkazů, na dodatečné velikosti souboru jen zřídka záleží.

Vytváření symbolických odkazů

Symbolické odkazy – nebo spíše odkazy na soubory obecně – se vytvářejí pomocí příkazu ln. Ve výchozím nastavení příkaz vytváří pevné odkazy. Chcete-li vytvořit symbolický odkaz, musíte k příkazu ln připojit parametr -s.

Syntaxe je dostatečně jednoduchá. Příkaz ln má dva parametry – cestu k souboru (nebo složce), ke kterému má být odkazován, a cestu k souboru odkazu, který má být vytvořen.

Takto:

ln -s user_names.txt názvy

Tím se vytvoří symbolický odkaz s názvem names připojený k textovému souboru user_names. Chcete-li zjistit, zda byl symbolický odkaz skutečně vytvořen, použijte příkaz ls.

Jak můžete vidět, Ubuntu zobrazuje různé barvy pro různé kategorie souborů, přičemž adresáře jsou označeny tmavě modrou a symbolické odkazy mají světle modrou barvu (ve skutečnosti azurovou).

Stejnou syntaxi můžeme použít i k vytvoření symbolického odkazu pro složku:

ln -s příklady example_folder

Pro vytváření symbolických odkazů na soubory a složky v jiných adresářích jednoduše použijte jejich úplnou cestu. Například:

ln -s příklady/example3.txt vzdálený_příklad

Omezení symbolických odkazů

Symbolické odkazy představují skvělý způsob, jak propojit soubory napříč systémem, aniž byste se museli uchýlit k vytváření kopií, ale mají svá omezení. Ano, i když jsou měkké odkazy méně omezující než pevné odkazy, stále je třeba mít na paměti některé věci..

Za prvé, příkaz ln ve skutečnosti neověřuje vytvořené odkazy. To znamená, že je možné zadat název souboru, který ve skutečnosti neexistuje, a neobjeví se žádné chyby. Jediný způsob, jak potvrdit odkaz, je zkusit jej použít a zjistit, zda vede ke správnému souboru.

Zadruhé, když přístup nebo změna oprávnění symbolického odkazu změní vlastnosti původního souboru, totéž neplatí pro mazání souboru. Můžete bezpečně odstranit symbolický odkaz bez ovlivnění propojeného souboru nebo adresáře.

Vytváření symbolických odkazů v systému Linux

Největším problémem při používání terminálu k vytváření symbolických odkazů je obtížný přístup k důležitým souborům rozmístěným v různých adresářích. Chytré řešení je vytvořit symbolické odkazy na takové soubory ze samotného domovského adresáře, jako jsou zástupci na ploše.

A na rozdíl od pevných odkazů lze symbolické odkazy vytvářet snadno bez jakýchkoli omezení, a to i pro připojení k adresářům nebo souborům v různých oddílech a souborových systémech. Mějte na paměti, že to také znamená, že symbolický odkaz může ukazovat na neexistující soubor – budete se muset pokusit otevřít odkaz a ověřit, zda soubor existuje.

.

Související příspěvky:


10.05.2023