Dowiązanie symboliczne

Dowiązanie symboliczne (łącze symboliczne, ang. symbolic link, często skracane jako symlink) – specjalny rodzaj pliku w systemach plików. Wskazuje on, odwołując się za pomocą nazwy, na dowolny inny plik lub katalog (który może nawet w danej chwili nie istnieć). Odwołanie jest niewidoczne na poziomie aplikacji, tzn. jest traktowane jak zwykły plik lub katalog.

Podczas typowych operacji na dowiązaniu symbolicznym system automatycznie próbuje odnaleźć obiekt docelowy i pracować na zawartości odnalezionego zbioru – a jeśli jest to niemożliwe, zwróci odpowiedni błąd. Jednocześnie, jeśli zachodzi taka potrzeba, programy mogą zidentyfikować oraz odczytać lub zmodyfikować samo dowiązanie.

Dowiązanie symboliczne powstało w celu oszczędzania miejsca w systemie plików w sytuacjach, gdy niezbędna jest większa elastyczność, niż jest to możliwe przy dowiązaniach twardych – dowiązania symboliczne pozwalają na odwołania do dowolnych obiektów, w tym katalogów, i nie są ograniczone do pojedynczej partycji. Dodatkowo ich zachowanie jest bardziej intuicyjne w przypadku usunięcia lub podmiany pliku, na który wskazują.

Polecenia

Do stworzenia dowiązania symbolicznego służy polecenie:

W systemach Unix: ln z opcją -s

ln -s plik_istniejący link_symboliczny

W systemach Microsoft Windows od wersji Vista: mklink

mklink [[/D] | [/H] | [/J]] nazwa sciezka
   * /D – tworzy dowiązanie katalogów, domyślnie jest tworzone dowiązanie plików
   * /H – tworzy dowiązanie twarde
   * /J – tworzy punkt połączenia katalogów (junction point)
   * nazwa – określa nazwę nowego dowiązania symbolicznego
   * sciezka – określa lokalizację, do której ma odwoływać się nowe dowiązanie.

Tak jak w przypadku normalnych plików i folderów, komendy del i rmdir mogą być użyte do usunięcia dowiązań do plików i folderów:

  • Dowiązania do plików:
    del linkname
    
  • Dowiązania do folderów:
    rmdir linkname
    

Implementacje

Dowiązania symboliczne są dostępne w większości systemów uniksowych

W starszych systemach rodziny Microsoft Windows odpowiednikiem dowiązania symbolicznego jest skrót (shortcut), a systemie Mac OS odpowiednikiem jest alias. W obu tych wypadkach dowiązanie ma formę pliku zawierającego informację o elemencie docelowym i nie jest osadzone w architekturze systemu plików, przez co jest dużo mniej funkcjonalne.

Następca systemu Mac OS, system OS X obsługuje równolegle dowiązania symboliczne i aliasy.

Od Windows 2000 w systemie plików NTFS dostępne są punkty połączenia katalogów (junction point) które umożliwiają powiązanie katalogów, ale tylko w obszarze woluminów lokalnych.

Od Vista w systemie plików NTFS możliwe jest stworzenie dowiązania symbolicznego lub twardego poprzez konsolowe polecenie mklink.

Aliasy są specyficzną funkcją systemu Mac OS, korzystającą z właściwości systemów plików Mac OS Standard (HFS) lub Mac OS Extended (HFS+). Alias, w przeciwieństwie do dowiązania symbolicznego:

  • odnosi się do unikatowego identyfikatora pliku, co powoduje, że stale wskazuje na ten sam plik lub katalog, nawet, jeśli został on przeniesiony w inne miejsce w obrębie tej samej partycji/dysku (przy czym od wersji Mac OS X 10.2 wzwyż najpierw sprawdzana jest ścieżka, potem identyfikator, co upodabnia zachowanie aliasu do dowiązania s.);
  • może przechowywać własną ikonę;
  • nie może być wykorzystywany z poziomu linii poleceń.

Zobacz też

Linki zewnętrzne