Linki (dowiązania)
Damian Stelmach
Ostatnia kwestia jak zajmiemy się w tej serii wpisów będą linki zwane dowiązaniami. Sprawa dość prosta jeśli chodzi o samą mechanikę jak i praktyczne wykorzystanie. Czym są linki no to generalnie każdy z Was powinien już wiedzieć. W ogólnym pojęciu link wskazuje na jakiś inny obiekt, plik lub jego zawartość.
W systemach Linux występują dwa rodzaje dowiązań, linków: twarde oraz symboliczne. Dowiązanie twarde tworzy nową nazwę dla zasobu, zapisując ją w nowej lokalizacji (nie kasując poprzedniej), a sam link nie odwołuje się do pliku samego w sobie, ale tylko do jego zawartości.
Brzmi tajemniczo natomiast jest proste w działaniu. Załóżmy, że mamy plik o nazwie plik.txt
z zawartością:
teskt1 teskt2 teskt3
Wykonajmy teraz dowiązanie do tej zawartości, zapisane w katalogu o nazwie link
. Polecenie wyglądało będzie tak:
ln plik.txt link/link_do_plik.txtgdzie
ln
to polecenie uruchamiające tworzenie dowiązania, plik.txt
to nazwa zasobu, do którego tworzymy dowiązanie, a link_do_plik.txt
to nazwa dowiązania. Od teraz ten nowy plik zawiera te same dane co plik źródłowy, a my utworzyliśmy sobie nową nazwę do zasobu
teskt1 teskt2 teskt3
Jeśli usuniemy plik źródłowy, czyli plik.txt
, to ten nowy plik, czyli link_do_plik.txt
pozostanie na dysku wraz z zawartością.
W przypadku drugiego rodzaju dowiązań, zwanych symbolicznymi, sprawa jest dużo prostsza, te dowiązania w swoim działaniu są bardzo podobne do skrótów jakie znamy chociażby z systemu Windows. Wskazują one zwyczajnie na jakiś plik. Skasowanie pliku źródłowego spowoduje, że link, dowiązanie, po prostu przestanie działać prawidłowo. Podobnie z resztą jak skrót w Windowsie.
Utwórzmy teraz dowiązanie symboliczne do pliku o nazwie plik2.txt
. Możemy to zrobić np. tak:
ln -s plik2.txt kat/nowy_plik2.txt
Kiedy wyświetlimy zawartość katalogu, w którym zapisaliśmy dowiązanie miękkie, to zobaczymy na jaki plik wskakuje nam link:
lrwxrwxrwx 1 damian damian 9 Feb 24 12:23 nowy_plik2.txt -> plik2.txt
Skasowanie pliku źródłowego wiązać się będzie oczywiście z tym, że taki link przestanie nam działać.
Zastosowanie dowiązań jest bardzo powszechną praktyką na systemach opartych na jądrze Linux. Ja ostatnio korzystałem z tego rozwiązania konfigurując serwer webowy Apache, tam włączanie poszczególnych modułów może odbywać się właśnie za pomocą dowiązań.
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Prosimy, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać w komentarzach! Dziękujemy Wam za poświęcony na to czas!