Odkaz v operačním systému Linux ukazuje na soubor nebo adresář. Odkazy umožňují více než jeden název souboru odkazovat na stejný soubor. Existují dva typy odkazů, měkké odkazy a pevné odkazy. Jednoduše řečeno, měkký odkaz je skutečný odkaz na původní soubor, zatímco pevný odkaz je zrcadlovou kopií původního souboru.
Pokud smažete původní soubor. nemůžete přistupovat k jeho obsahu přes jeho měkký odkaz. Na druhou stranu, pokud smažete původní soubor, stále máte přístup k jeho obsahu prostřednictvím pevného odkazu. Pevný odkaz má stejné číslo inodu a oprávnění k souboru, zatímco měkký odkaz má jiné číslo inodu a oprávnění k souboru.
V tomto příspěvku vám ukážeme, jak vytvořit měkký a pevný odkaz v Linuxu.
Předpoklady
- Nový server Ubuntu 20.04 na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Vytvořit měkký odkaz
Nejprve vytvořte adresář s názvem softlink pomocí následujícího příkazu:
mkdir softlink
Dále vytvořte soubor s názvem normal_link.txt:
cd softlink echo "This is a softlink" > normal_link.txt
Dále vytvořte měkký odkaz na soubor normal_link.txt :
ln -s normal_link.txt soft_link.txt
Nyní zkontrolujte obsah obou souborů:
cat normal_link.txt
Výstup:
This is a softlink
A
cat soft_link.txt
Výstup:
This is a softlink
Jak vidíte, oba soubory mají stejný obsah.
Nyní zkontrolujte číslo inodu a oprávnění obou souborů:
ls -lia
Měli byste vidět, že oba soubory mají různá čísla inodů a oprávnění.
15866192 drwxrwxr-x 2 vyom vyom 4096 Apr 19 15:10 . 15466497 drwxrwxrwt 13 root root 4096 Apr 19 15:10 .. 15866186 -rw-rw-r-- 1 vyom vyom 19 Apr 19 15:09 normal_link.txt 15866189 lrwxrwxrwx 1 vyom vyom 15 Apr 19 15:10 soft_link.txt -> normal_link.txt
Nyní odstraňte původní soubor pomocí následujícího příkazu:
rm -rf normal_link.txt
Nyní zkontrolujte obsah souboru soft link:
cat soft_link.txt
Výstup:
cat: soft_link.txt: No such file or directory
Jak vidíte, žádný takový soubor nebo adresář neexistuje.
Pokud chcete soft odkaz odstranit, spusťte následující příkaz:
unlink soft_link.txt
Vytvořit pevný odkaz
Nejprve vytvořte adresář s názvem hardlink pomocí následujícího příkazu:
mkdir hardlink
Dále vytvořte soubor s názvem normal_link.txt pomocí následujícího příkazu:
cd hardlink echo "This is a hard link" > normal_link.txt
Dále vytvořte pevný odkaz na soubor pomocí následujícího příkazu:
ln normal_link.txt hard_link.txt
Nyní zkontrolujte obsah obou souborů:
cat normal_link.txt
Výstup:
This is a hard link
A
cat hard_link.txt
Výstup:
This is a hard link
Dále zkontrolujte inode a oprávnění obou souborů:
ls -lia
Měli byste vidět, že oba soubory mají stejný inode a oprávnění:
15866186 drwxrwxr-x 2 vyom vyom 4096 Apr 19 15:16 . 15466497 drwxrwxrwt 14 root root 4096 Apr 19 15:16 .. 15866190 -rw-rw-r-- 2 vyom vyom 20 Apr 19 15:16 hard_link.txt 15866190 -rw-rw-r-- 2 vyom vyom 20 Apr 19 15:16 normal_link.txt
Nyní zkuste do původního souboru přidat nějaký obsah:
echo "I am adding some content" >> normal_link.txt
Nyní zkontrolujte obsah pevného odkazu:
cat hard_link.txt
Měli byste vidět, že změny, které jsme provedli v původním souboru, jsou aktualizovány v obou souborech.
This is a hard link I am adding some content
Nyní odstraňte původní soubor:
rm -rf normal_link.txt
Nyní zkontrolujte obsah pevného odkazu:
cat hard_link.txt
Stále byste měli vidět obsah souboru:
This is a hard link I am adding some content
Pokud chcete pevný odkaz odstranit, spusťte následující příkaz:
unlink hard_link.txt
Závěr
Ve výše uvedené příručce jste se naučili, jak vytvořit měkký a pevný odkaz v systému Linux. Zkuste vytvořit měkké a pevné odkazy na svém hostingovém účtu VPS s Atlantic.Net!