Dowiązanie twarde

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Dowiązanie twarde, łącze stałe (ang. hard link) – jest to referencja wskazująca na istniejącą zawartość pliku lub katalogu (w przypadku linuksowych systemach plików jest to i-węzeł) umieszczona w tym samym systemie plików. Dla systemu operacyjnego dowiązanie twarde jest dodatkową nazwą, którą można użyć w celu odwołania się do zawartości danego obiektu – plik z n dowiązaniami ma n + 1 nazw. Aby obiekt został usunięty z systemu plików, wpierw muszą zostać usunięte wszystkie odwołujące się do niego dowiązania twarde. Stąd funkcja systemowa w języku C do kasowania plików nosi nazwę unlink – kasowany nie jest sam plik, a jedynie jego nazwa oraz dekrementowany jest wskaźnik dowiązań twardych (dopiero gdy spadnie on do zera, system automatycznie zwalnia zajętą przestrzeń dyskową). Ponadto ważną cechą dowiązań twardych jest ich ograniczenie do tej samej partycji, na której znajduje się obiekt żródłowy.

Domyślnie, zaraz po utworzeniu każdy folder w uniksowych systemach plików posiada dwa dowiązania twarde – swoją nazwę (np. /home/fizyk/przyklad) oraz wewnętrzne dowiązanie . (kropka). Dodatkowo, jeśli folder zawiera podfoldery, to w każdym z nich znajduje się dowiązanie .. (dwie kropki) wskazujące na niego jako folder nadrzędny. Ze względu na możliwość powstawania nieskończonych pętli poprzez tworzenie nieprawidłowych dowiązań do katalogów, niektóre systemy nie pozwalają na tworzenie nowych tego typu dowiązań lub pozwalają na to tylko użytkownikowi root.

Systemy uniksowe[edytuj]

W systemach Unix i uniksopodobnych do stworzenia dowiązania twardego służy polecenie ln w postaci:

ln plik_istniejący dowiązanie_twarde

Numer i-węzła takiego dowiązania oraz liczbę dowiązań twardych można sprawdzić wydając polecenie:

 $ ls -li dowiązanie_twarde
 360023 -rw-r----- 2 linio linio  143 2002-12-08 20:21 dowiązanie_twarde

gdzie kolejne od lewej pola (rozdzielone spacjami) to:

  1. numer i-węzła (tutaj: 360023),
  2. typ pliku wraz z prawami dostępu,
  3. liczba dowiązań twardych (tutaj: 2)

Systemy operacyjne Windows[edytuj]

Użycie dowiązań twardych w środowisku Microsoft Windows jest znacznie mniej rozpowszechnione, głównie ze względu na odmienną strukturę stosowanego systemu plików. Na partycjach z systemem plików NTFS możliwe jest tworzenie dowiązań twardych (nazwanych w systemie Windows łączami stałymi) przy pomocy polecenia fsutil jak w poniższym przykładzie:

fsutil hardlink create plik_istniejący.pdf łącze_stałe.pdf

Polecenie to pojawiło się w systemie Windows XP i jest dostępne we wszystkich kolejnych wersjach Windows. Aby je wykonać w starszych wersjach systemu Microsoftu, wymagane jest posiadanie uprawnień administracyjnych, natomiast od Windows 10 Creators Update takiego wymogu już nie ma.

Zobacz też[edytuj]

Linki zewnętrzne[edytuj]