Symbolický odkaz (symbolický) je typ souboru, který odkazuje na jiné soubory nebo adresáře (složky) v Linuxu.
Symbolický odkaz (symbolický) můžete vytvořit pomocí ln
příkaz v příkazovém řádku.
Symbolické odkazy jsou užitečné, protože fungují jako zástupci souboru nebo adresáře.
V tomto článku se podívám na to, jak používat ln
příkaz k vytvoření symbolického odkazu na soubor nebo adresář.
Jaký je rozdíl mezi měkkými a pevnými odkazy v Linuxu?
Soft odkaz nebo symbolický odkaz bude ukazovat na původní soubor ve vašem systému. Pevný odkaz vytvoří kopii souboru.
Měkké odkazy mohou ukazovat na jiné soubory nebo adresáře v jiném systému souborů, zatímco pevné odkazy nikoli.
Jak vytvořit symbolický odkaz na soubor
Příkazový řádek můžete najít pomocí aplikace Terminál v systému Mac nebo pomocí příkazového řádku v systému Windows.
Zde je základní syntaxe pro vytvoření symbolického odkazu na soubor ve vašem terminálu.
ln -s existing_source_file optional_symbolic_link
Použijte ln
příkaz k vytvoření odkazů pro soubory a -s
možnost určit, že se bude jednat o symbolický odkaz. Pokud vynecháte -s
možnost, pak se místo toho vytvoří pevný odkaz.
Existující_zdrojový_soubor představuje soubor ve vašem počítači, pro který chcete vytvořit symbolický odkaz.
Parametr optional_symbolic_link je název symbolického odkazu, který chcete vytvořit. Pokud je vynechán, systém pro vás vytvoří nový odkaz v aktuálním adresáři, ve kterém se nacházíte.
Podívejme se na příklad, abychom lépe porozuměli tomu, jak to funguje.
Na ploše mám soubor s názvem example_fcc_file.txt
.
Budu muset nejprve otevřít svůj terminál a poté se ujistit, že jsem v adresáři Desktop. Mohu spustit příkaz cd Desktop
přejděte na moji plochu.
Po spuštění tohoto příkazu byste měli vidět, že jste nyní na ploše.
jessicawilkins@Dedrias-MacBook-Pro-2 ~ % cd Desktop
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
Poté mohu použít ln
příkaz k vytvoření nového symbolického odkazu s názvem fcc_link.txt
.
ln -s example_fcc_file.txt fcc_link.txt
Když tento příkaz spustíte v terminálu, všimnete si, že se nic nevrátilo. To proto, že když ln
je příkaz úspěšný, nebude mít žádný výstup a vrátí nulu.
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % ln -s example_fcc_file.txt fcc_link.txt
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
Chcete-li zkontrolovat, zda byl váš symbolický odkaz úspěšný, můžete použít ls
příkaz. ls
příkaz vypíše informace o souborech a -l
vlajka představuje symbolický odkaz.
ls -l fcc_link.txt
Když spustíte tento příkaz, měli byste v terminálu vidět tento typ výsledku.
lrwxr-xr-x 1 jessicawilkins staff 20 Feb 19 19:56 fcc_link.txt -> example_fcc_file.txt
Soubor fcc_link.txt -> example_fcc_file.txt
část výstupu ukazuje, že symbolický odkaz ukazuje na soubor s názvem example_fcc_file.txt
.
Také byste měli vidět, že se ve vašem adresáři objeví nový symbolický odkaz.
Jak vytvořit symbolický odkaz na adresář
V tomto příkladu chceme vytvořit symbolický odkaz nazvaný my_music
která bude ukazovat na moji složku Hudba v domovském adresáři mého počítače.
Nejprve se ujistěte, že jste v domovském adresáři. Můžete spustit cd
pro návrat do domovského adresáře v příkazovém řádku.
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % cd
jessicawilkins@Dedrias-MacBook-Pro-2 ~ %
Poté můžete použít ln
příkaz k vytvoření symbolického odkazu na adresář Music.
ln -s /Users/jessicawilkins/Music ~/my_music
Pokud bude úspěšný, měli byste jej vidět v domovském adresáři.
Jak odstranit symbolický odkaz
K odstranění symbolického odkazu můžete buď použít unlink
nebo rm
příkaz.
Pokud bychom chtěli odstranit fcc_link.txt
symbolický odkaz, který jsme vytvořili dříve, pak můžeme použít některý z těchto příkazů:
rm fcc_link.txt
unlink fcc_link.txt
Nyní bychom měli vidět, že symbolický odkaz byl odstraněn z našeho adresáře.
Jak přepsat symbolické odkazy
Pokud se pokusíme vytvořit nový symbolický odkaz s názvem fcc_link.txt
, pak dojde k chybě, protože se již používá a odkazuje na jiný soubor.
ln: fcc_link.txt: File exists
Tuto chybu můžete přepsat použitím síly (-f
).
ln -sf example_fcc_file.txt fcc_link.txt
Jak se dozvědět více o příkazu ln
Pokud se chcete dozvědět více o ln
příkaz, pak si o něm můžete přečíst v man
stránky (manuál pro používání příkazů Linuxu).
Spusťte man ln
ve vašem terminálu a měli byste vidět manuálové stránky pro ln
příkaz.
LN(1) BSD General Commands Manual LN(1)
NAME
link, ln -- make links
SYNOPSIS
ln [-Ffhinsv] source_file [target_file]
ln [-Ffhinsv] source_file ... target_dir
link source_file target_file
DESCRIPTION
The ln utility creates a new directory entry (linked file) which has the same modes as the original file. It is
useful for maintaining multiple copies of a file in many places at once without using up storage for the
``copies''; instead, a link ``points'' to the original copy. There are two types of links; hard links and sym-
bolic links. How a link ``points'' to a file is one of the differences between a hard and symbolic link.
The options are as follows:
-F If the target file already exists and is a directory, then remove it so that the link may occur. The -F
option should be used with either -f or -i options. If none is specified, -f is implied. The -F option
is a no-op unless -s option is specified.
-h If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f
option, to replace a symlink which may point to a directory.
-f If the target file already exists, then unlink it so that the link may occur. (The -f option overrides
Závěr
Symbolický odkaz (symbolický) je typ souboru, který odkazuje na jiné soubory nebo adresáře (složky) v Linuxu. Symbolický odkaz (symbolický) můžete vytvořit pomocí ln
příkaz v příkazovém řádku.
Symbolické odkazy jsou užitečné, protože fungují jako zástupci souboru nebo adresáře.
Zde je základní syntaxe pro vytvoření symbolického odkazu na soubor pomocí terminálu:
ln -s existing_source_file optional_symbolic_link
Zde je základní syntaxe pro vytvoření symbolického odkazu na adresář pomocí terminálu:
ln -s path_to_existing_directory name_of_symbolic_link
K odstranění symbolického odkazu můžete buď použít unlink
nebo rm
příkaz:
rm name_of_symbolic_link
unlink name_of_symbolic_link
Pokud potřebujete odstranit symbolický odkaz, můžete použít tento příkaz:
ln -sf path_to_existing_directory name_of_symbolic_link
Doufám, že se vám tento článek o symbolických odkazech líbil a přeji vám hodně štěstí na vaší programovací cestě.