Dowiązanie twarde
Dowiązanie twarde (łącze stałe, ang. hard link) jest to umieszczona w systemie plików referencja wskazująca na konkretny, istniejący wcześniej i-węzeł w obrębie tej samej partycji. Dla systemu operacyjnego, dowiązanie takie jest po prostu dodatkową nazwą dla wskazywanego 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ą – zwalnia i-węzeł).
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.
Spis treści |
[edytuj] Systemy uniksowe
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 liczba 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)
[edytuj] System operacyjny Windows
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 wersji XP, Vista oraz 7