ln - tworzy dowiązania między plikami

Składnia

edytuj

ln [opcje]... źródło [nazwa_dowiązania] ln [opcje]... źródło... katalog

Jeśli ostatni z argumentów określa istniejący katalog, to w katalogu tym zostaną utworzone dowiązania do każdego plików podanych jako poprzednie argumenty (cel). (Patrz jednak opis opcji `--no-deference'). Dowiązania te będą mieć takie nazwy, jak pliki źródłowe. Jeśli podano dwa argumenty typu plik, to drugi z nich zostanie utworzony jako dowiązanie do pierwszego. Jeśli podano tylko jeden argument - nazwę pliku, to ln utworzy w bieżącym katalogu dowiązanie do niego mające taką samą nazwę. [Oczywiście nie można w ten sposób utworzyć dowiązania do pliku w bieżącym katalogu]. Podanie więcej niż dwu argumentów, z których ostatni nie jest katalogiem jest błędem. Bez opcji `-f' lub `-i' (zob.niżej) polecenie ln nie usuwa istniejącego pliku. Do zmiany nazwy istniejących plików służy opcja `--backup'. Dowiązanie twarde (hard link) jest inną nazwą istniejącego pliku. Dowiązanie i oryginalna nazwa są w pełni równoprawne. Technicznie rzecz biorąc, posiadają ten sam i-węzeł, zaś i-węzeł zawiera całą informację o pliku - faktycznie nie jest błędem stwierdzenie, iż i-węzeł jest plikiem. [W ten sposób plik może występować pod wieloma równoważnymi nazwami - wskazującymi na te same dane. Usunięcie jednej z tych nazw przez rm nie powoduje jeszcze usunięcia pliku. Jest on usuwany dopiero z chwilą usunięcia ostatniej nazwy.] We wszystkich istniejących implementacjach nie można tworzyć twardych dowiązań do katalogów, a dowiązania twarde nie mogą przekraczać granic systemów plików. (Ograniczenia te nie są jednak narzucone przez POSIX.) Dowiązania symboliczne (symbolic link, w skrócie symlink), z drugiej strony, są specjalnym typem plików (nie obsługiwanym przez wszystkie jądra; w szczególności system V release 3 i starsze nie posiadają dowiązań symbolicznych), w którym plik dowiązania faktycznie wskazuje na inny plik (przez nazwę). Dla większości operacji (otwarcie, odczyt, zapis i tak dalej) otrzymujących jako argument dowiązanie symboliczne jądro automatycznie dereferencjowuje ("odwskaźnikowuje") dowiązanie i działa na samym celu dowiązania. Jednak niektóre operacje (np. usuwanie) działają na samym dowiązaniu, nie zaś na celu przez nie wskazywanym. Zob. `Symbolic Links' w The GNU C Library Reference Manual.

-b, --backup[=metoda]

Opcje kopii zapasowych. Tworzy kopie zapasowe tych plików, które mają być nadpisane lub usunięte.

-d, -F, --directory'

Pozwala użytkownikowi uprzywilejowanemu (root) na tworzenie dowiązań twardych (hardlinks) do katalogów.

-f, --force

Usuwa istniejące pliki docelowe.

-i, --interactive

Pyta czy usuwać istniejące pliki docelowe.

-n, --no-dereference

Gdy podany cel jest dowiązaniem symbolicznym do katalogu, traktuje to dowiązanie jak gdyby było zwykłym plikiem. Gdy cel jest nazwą rzeczywistego katalogu (a nie dowiązania symbolicznego), nie ma żadnych dwuznaczności. Dowiązanie jest tworzone w tym katalogu. Jeśli jednak podany cel jest symbolicznym dowiązaniem do katalogu, to istnieją dwa sposoby potraktowania żądania użytkownika. ln może potraktować cel tak, jakby był zwykłym katalogiem (na który wskazuje dowiązanie) i utworzyć w nim żądane dowiązanie. Z drugiej strony, cel może być postrzegany jako nie-katalog -- dowiązanie symboliczne samo w sobie. W tym przypadku ln musi usunąć lub utworzyć kopię tego dowiązania przed utworzeniem nowego dowiązania. Domyślnym sposobem działania jest traktowanie celu będącego dowiązaniem symbolicznym do katalogu tak jak katalogu. [Przy użyciu opcji `-n' będzie on traktowany jak dowiązanie.]

-s, -symbolic

Tworzy dowiązania symboliczne zamiast dowiązań twardych. Ta opcja wypisuje błąd na systemach nie obsługujących dowiązań symbolicznych.

-S przyrostek, --suffix=przyrostek

Dokleja przyrostek do każdej nazwy pliku kopii zapasowej utworzonego opcją `-b'.

--target-directory=katalog

Określa katalog docelowy.

-v, --verbose

Przed utworzeniem dowiązania do każdego pliku wypisuje jego nazwę.

-V metoda, --version-control=metoda

Zmienia metodę tworzenia kopii zapasowych wykonywanych za pomocą `-b'. Argument `metoda' przyjmuje wartości: `none' (lub `off'), `numbered' (lub `t'), `existing' (lub `nil') albo `never' (lub `simple'). Zob. 2.1. Opcje kopii zapasowych.


Przykłady

edytuj
          ln -s /jakas/nazwa

tworzy dowiązanie ./nazwa wskazujące na /jakas/nazwa

          ln -s /jakas/nazwa mojanazwa

tworzy dowiązanie ./mojanazwa wskazujące na /jakas/nazwa

          ln -s a b ..

tworzy dowiązania ../a i ../b wskazujące na ./a i ./b