Dowiązanie twarde

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Dowiązanie twarde (łącze stałe, ang. hard link) – jest to referencja wskazująca na istniejącą zawartość pliku lub katalogu (w 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ą dla zawartości obiektu – plik z n dowiązaniami ma n nazw. Aby obiekt w systemie plików został skasowany, muszą zostać usunięte wszystkie odwołujące się do niego dowiązania. Stąd funkcja systemowa do kasowania plików w języku C nazywa się unlink – kasowany nie jest plik, ale jedynie jego nazwa oraz dekrementowany jest wskaźnik dowiązań (dopiero gdy spadnie on do zera, system automatycznie zwalnia zajętą przestrzeń dyskową).

Domyślnie każdy folder w uniksowych systemach plików posiada zaraz po utworzeniu dwa dowiązania twarde – swoją nazwę (np. /home/fizyk/przyklad) oraz wewnątrz 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ść tworzenia nieskończonych pętli przez tworzenie nieprawidłowych dowiązań do katalogów, niektóre systemy nie pozwalają na tworzenie nowych dowiązań tego typu lub pozwalają na to tylko użytkownikowi root.

Systemy uniksowe[edytuj | edytuj kod]

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

$ ln plik_istniejący dowiązanie_twarde

Numer i-węzła oraz liczbę dowiązań 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

Kolejne wypisane pola (pola rozdzielone są spacjami) od lewej to:

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

System operacyjny Windows[edytuj | edytuj kod]

Użycie dowiązań twardych w środowisku Microsoft Windows jest znacznie mniej rozpowszechnione. Na partycjach NTFS możliwe jest utworzenie twardych dowiązań (nazwanych w systemie Windows łączami stałymi) przy pomocy polecenia fsutil jak w poniższym przykładzie:

fsutil hardlink create dowiązanie.pdf oryginał.pdf

Polecenie to istnieje w wersjach XP oraz nowszych.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]