Dowiązanie symboliczne, znane również jako symlink, jest specjalnym typem pliku, który wskazuje na inny plik lub katalog.
W tym przewodniku omówimy, jak używać polecenia ln do tworzenia dowiązań symbolicznych.
Spis treści
Rodzaje dowiązań
W systemach Linux/UNIX istnieją dwa rodzaje dowiązań:
- Łącza twarde. Dowiązanie twarde to dodatkowa nazwa dla istniejącego pliku. Dowiązania twarde polegają na skojarzeniu dwóch lub więcej nazw plików z tym samym kodem wewnętrznym . Dla jednego pliku można utworzyć jeden lub więcej dowiązań. Dowiązań twardych nie można tworzyć dla katalogów i plików znajdujących się w innym systemie plików lub na innej partycji.
- Łącza miękkie. Łącze miękkie to coś w rodzaju skrótu w systemie Windows. Jest to pośredni wskaźnik do pliku lub katalogu. W przeciwieństwie do dowiązania twardego, dowiązanie symboliczne może wskazywać na plik lub katalog znajdujący się w innym systemie plików lub na innej partycji.
Jak używać polecenia ln
ln jest narzędziem wiersza poleceń służącym do tworzenia dowiązań między plikami. Domyślnie polecenie ln tworzy dowiązania twarde. Aby utworzyć dowiązanie symboliczne, należy użyć opcji -s (–symboliczne).
Składnia polecenia ln do tworzenia dowiązań symbolicznych jest następująca:
ln -s [OPCJE] PLIK LINK
Jeśli podane zostaną zarówno PLIK, jak i LINK, ln utworzy dowiązanie z pliku określonego jako pierwszy argument (PLIK) do pliku określonego jako drugi argument (LINK).
Jeżeli jako argument podano tylko jeden plik lub drugim argumentem jest kropka (.), ln utworzy dowiązanie do tego pliku w bieżącym katalogu roboczym . Nazwa dowiązania symlinkowego będzie taka sama jak nazwa pliku, na który wskazuje.
Domyślnie po pomyślnym wykonaniu polecenia ln nie wypisuje żadnych danych wyjściowych i zwraca zero.
Tworzenie dowiązania symbolicznego do pliku
Aby utworzyć dowiązanie symboliczne do danego pliku, otwórz terminal i wpisz
ln -s plik-zrodlowy link-symboliczny
W miejsce plik-zrodlowy wpisz nazwę istniejącego pliku, dla którego chcesz utworzyć dowiązanie symboliczne, a link-symboliczny – nazwę dowiązania symbolicznego.
Parametr link-symboliczny jest opcjonalny. Jeśli nie podasz dowiązania symbolicznego, polecenie ln utworzy nowe dowiązanie w bieżącym katalogu:
W poniższym przykładzie tworzymy dowiązanie symboliczne o nazwie twoj-link.txt do pliku o nazwie twoj-plik.txt:
ln -s twoj-plik.txt twoj-link.txt
Aby sprawdzić, czy dowiązanie symboliczne zostało pomyślnie utworzone, należy użyć polecenia ls:
ls -l twoj-link.txt
Dane wyjściowe będą wyglądać tak jak poniżej:
lrwxrwxrwx 1 twoj-login users 4 Dec 2 23:03 twoj-link -> twoj-plik.txt
Znak l jest znacznikiem typu pliku, który reprezentuje dowiązanie symboliczne. Symbol -> wskazuje plik, na który wskazuje dowiązanie symboliczne.
Tworzenie dowiązań symbolicznych do katalogów
Polecenie tworzenia dowiązania symbolicznego do katalogu jest takie samo jak w przypadku tworzenia dowiązania symbolicznego do pliku. Jako pierwszy parametr należy podać nazwę katalogu, a jako drugi parametr – dowiązanie symboliczne.
Na przykład, jeśli chcesz utworzyć dowiązanie symboliczne z katalogu /obrazki do katalogu ~/obrazy, wykonaj polecenie
ln -s /obrazki ~/obrazy
Nadpisywanie dowiązań symbolicznych
Jeśli spróbujesz utworzyć dowiązanie symboliczne, które już istnieje, polecenie ln wyświetli komunikat o błędzie.
ln -s twoj-plik.txt twoj-link.txt
ln: failed to create symbolic link 'twoj-link.txt': File exists
Aby nadpisać ścieżkę docelową dowiązania symbolicznego, należy użyć opcji -f (–force).
ln -sf twoj-plik.txt twoj-link.txt
Usuwanie dowiązań symbolicznych
Aby usunąć dowiązania symboliczne, należy użyć polecenia unlink lub rm.
Składnia polecenia unlink jest bardzo prosta:
unlink symlink-do-usunięcia
Usuwanie dowiązań symbolicznych za pomocą polecenia rm przebiega tak samo jak usuwanie plików:
rm symlink-do-usuniecia
Bez względu na to, którego polecenia użyjesz, przy usuwaniu dowiązania symbolicznego nie dodawaj na końcu jego nazwy ukośnika /.
Jeśli usuniesz lub przeniesiesz plik źródłowy do innej lokalizacji, dowiązanie symboliczne pozostanie tak jak było i powinno zostać usunięte.
Podsumowanie
Aby utworzyć dowiązanie symboliczne w Linuksie, należy użyć polecenia ln z opcją -s.
Aby uzyskać więcej informacji o poleceniu ln, odwiedź stronę podręcznika ln lub wpisz man ln w terminalu.