9.3 Dowiązania

Dowiązania to wskaźniki pomiędzy plikami. Dzięki dowiązaniom możliwe jest posiadanie pliku w wielu miejscach i o wielu nazwach. Wyróżniane są dwa typy dowiązń (linków): twarde i symboliczne (miękkie).

Twarde dowiązania to różne nazwy konkretnego pliku. Istnieją tylko w obrębie jednego systemu plików (???partycji???). Plik usunięty zostanie w momencie usunięcia wszystkich takich linków. W niektórych przypadkach stosowanie takich dowiązań jest uzasadnione jednak większość użytkowników preferuje linki symboliczne.

Dowiązanie symboliczne (dowiązanie miękkie) może wskazywać na plik poza systemem plików, na którym się znajduje. Właściwie jest to mały plik zawierający potrzebne informacje. Dzięki temu można tworzyć dowiązania nawet do katalogów. Częstą praktyką jest posiadanie /var/tmp jako linka do /tmp. Dowiązania tego typu można tworzyć i usuwać bez naruszania rzeczywistego pliku.

Dowiązania nie mają swojego zbioru praw dostępu czy właściciela - przejmują te, które ma plik, na który wskazują. W Slackware częsciej używa się dowiązań miękkich. Przykład:

% ls -l /bin/sh
lrwxrwxrwx   1 root     root     4 Apr  6 12:34 /bin/sh -> bash

Powłoka sh w Slackware to tak na prawdę bash. Usuwanie dowiązań odbywa się przy pomocy polecenia rm. Komenda ln używana jest do ich tworzenia. Obie one są omówione szczegółowo w Rozdział 10.

Bardzo ważne jest ostrożne używanie dowiązań. Pewnego razu pracowałem na maszynie, która wykonywała kopie bezpieczeństwa na taśmach. Problem polegał na tym, że dwa dowiązania w systemie wskazywały na katalogi nadrzędne. W rezultacie na taśmie zapis trwał do momentu wyczerpania miejsca. Generalnie, wykonuje się pewne testy, które chronią przed takimi sytuacjami, jednak nasz przypadek był szczególny.

Grenlandia 2012