GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit symbolický odkaz v Linuxu pomocí příkazu Ln

Symbolický odkaz se běžně nazývá soft link nebo symlink , což je speciální typ souboru, který odkazuje na jiný soubor nebo adresář.

V této příručce se naučíte, jak vytvořit symbolický odkaz v Linuxu pomocí příkazu ln k vytvoření propojení mezi soubory.

Typy odkazů

V Linuxu máme 2 typy odkazů:měkké odkazy a pevné odkazy.

Pevné odkazy: Pevný odkaz je replikou původního souboru. Umožňuje přístup k datům v cílovém souboru. Uživatel nemůže vytvořit pevný odkaz pro adresář, pouze pro soubor. Pevně ​​propojené soubory mají navíc společné číslo inodu. Když je původní soubor odstraněn nebo odstraněn, pevný odkaz bude nadále fungovat a bude obsahovat obsah odstraněného souboru. Je také důležité poznamenat, že pevné odkazy se netýkají různých systémů souborů.

Soft odkazy: Na rozdíl od pevného odkazu je měkký odkaz pouze ukazatelem na název souboru a neobsahuje obsah jiného souboru nebo cílového souboru, na který se odkazuje. Pokud je cílový soubor odstraněn nebo smazán, měkký odkaz přestane existovat. Dobrou stránkou měkkých odkazů je to, že je lze použít k propojení se souborem nebo adresářem a mohou zahrnovat různé systémy souborů.

Jak používat příkaz ln

Příkaz ln se používá k vytváření odkazů mezi soubory. Příkaz ve výchozím nastavení vytvoří pevný odkaz. Chcete-li vytvořit měkký odkaz, jednoduše připojte -s možnost ( --symbolic ).

Syntaxe:

ln [OPTION] TARGET LINK_NAME

Abyste předešli nejasnostem, použijte při vytváření symbolického odkazu absolutní cestu (relativní cestu) ke zdrojovému a cílovému souboru.

Jak vytvořit symbolický odkaz na soubor

Chcete-li vytvořit symbolický odkaz na soubor, spusťte následující příkaz:

$ ln -s { OPTIONS } file symlink

Když jsou definovány soubor i symbolický odkaz, příkaz ln vytvoří odkaz ze souboru což je první argument souboru definovaného ve druhém argumentu symlink .

Chcete-li například vytvořit symbolický odkaz na soubor, použijte syntaxi

$ ln -s  original_file symlink

Poznámka:ln při úspěchu nevrací žádný výstup.

V příkazu nahraďte originální_soubor s existujícím souborem, pro který chcete vytvořit symbolický odkaz a symlink se symbolickým odkazem.

Uveďme skutečný příklad:

$ ln -s  file1.txt   sample_link.txt

Výše uvedený příkaz vytvoří symbolický odkaz s názvem 'sample_link.txt' na existující soubor 'file1.txt' v aktuálním adresáři.

Chcete-li ověřit vytvoření odkazu, jednoduše použijte příkaz ls, jak je znázorněno:

$ ls -l sample_link.txt

Váš výstup by se měl podobat tomu, co mám níže:

lrwxrwxrwx 1 winnie  winnie 9 Jul 12 23:43 sample_link.txt -> file1.txt

V oprávněních l příznak označuje, že se jedná o symbolický odkaz, a znak - > označuje, že symbolický odkaz ukazuje na soubor file1.txt .

Někdy symbolické odkazy nefungují kvůli problémům s cestou, navrhněte použít úplnou cestu:

# absolute (full path)
ln -s /path/to/originals/originalfile1.txt backup/copy.txt

# relative
cd backup
ln -s ../originals/originalfile1.txt copy.txt

Jak vytvořit symbolické odkazy na adresář

Vytvoření symbolického odkazu na adresář je stejně snadné jako vytvoření odkazu na soubor. Syntaxe zůstává do značné míry stejná. První argument přebírá název adresáře, zatímco symbolický odkaz je specifikován jako druhý argument.

Níže uvedená syntaxe je příkladem toho, jak byste postupovali takto:

$ ln -s  /path/to/directory  ~/directory

Chcete-li například vytvořit symbolický odkaz z adresáře /Downloads/music/ do ~/my_music spusťte příkaz:

$ ln -s  /Downloads/music  ~/my_music

Jak přepsat symbolický odkaz

Přepsání symbolických odkazů pouhým vyvoláním příkazu ln bez jakýchkoli dalších argumentů vám vždy zobrazí chybu, jak je uvedeno:

Pokud se například pokusíte znovu spustit následující příkaz:

$ ln -s  file1.txt   sample_link.txt

Zobrazí se chyba:

ln: failed to create symbolic link 'sample_link.txt': File exists

Řešením tohoto problému je zavedení další možnosti -f nebo --force pro přepsání cílové cesty symbolického odkazu, jak je znázorněno:

$ ln -sf  file1.txt   sample_link.txt

Tentokrát přepsání softwarového odkazu nezpůsobí žádnou chybu.

Jak odstranit symbolické odkazy

Chcete-li se zbavit symbolických odkazů Linux nebo symbolických odkazů, můžete použít buď příkaz rm, nebo unlink příkaz. A je to docela snadné. Pro odpojení k odstranění symbolických odkazů použijte níže uvedenou syntaxi:

$ unlink symlink_to_be_removed

Odstranění softwarového odkazu pomocí příkazu rm je stejné, jako když odstraňujete nebo odstraňujete běžný soubor:

$ rm symlink_to_be_removed

Jsou symbolické odkazy důležité?

Obecně je dobré vytvořit symbolický odkaz na soubor, pokud chcete dosáhnout některého z následujících:

  1. Mějte přístup k souboru (souborům) z více umístění bez vytváření duplicitních kopií, které mohou nutně zabírat mnoho místa na disku.
  2. Pokud chcete zachovat původní verze souboru a zajistit, aby odkaz ukazoval na nejnovější verzi souboru. Funguje to, protože symbolický odkaz zůstane aktivní i poté, co soubor nahradíte jiným souborem se stejným názvem.

Linuxové programy používají symbolické odkazy jako alias, takže uživatelé nemusí vědět, jakou verzi kódu použili.

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

Závěr

Symbolické odkazy a standardní zkratky jsou podobné, ale existuje mezi nimi několik rozdílů.

Standardní zkratka, jako je ta, kterou byste našli ve Windows, je jednoduše běžný soubor, který ukazuje na určitý adresář, soubor nebo aplikaci. Tato zkratka se obvykle zobrazuje jako ikona, kterou lze vytvořit v libovolném umístění, a po kliknutí na ni se otevře původní soubor, adresář nebo aplikace.

Symbolický odkaz ve skutečnosti představuje původní soubor ve funkčním smyslu. Je to přímá náhrada za objekt, jako je soubor. Váš systém Linux přečte symbolický odkaz Linux, jako by to byl cílový objekt. Obyčejná zkratka jednoduše odkazuje na soubor nebo adresář a nedělá nic jiného.

To je vše o tom, jak vytvořit symbolický odkaz v Linuxu a pro více informací se obraťte na člověka. Doufám, že se vám čtení líbilo a zanechte prosím své komentáře a návrhy.


Linux
  1. Jak vytvořit pevné a symbolické odkazy v Linuxu

  2. Jak vytvořit skript příkazu Linux

  3. Jak vytvořit snímky systému souborů pomocí příkazu Snapper v systému Linux

  1. Jak rozdělit iso nebo soubor pomocí příkazu „split“ v Linuxu

  2. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  3. Jak připojit soubor pomocí příkazu mail v systému Linux?

  1. Jak vytvořit soubor v Linuxu pomocí terminálu/příkazového řádku

  2. Příkaz Ln:Jak vytvořit symbolické odkazy v Linuxu

  3. Jak vytvořit symbolické odkazy v Linuxu