ln (Unix)
ln – Uniksowy program służący do tworzenia dowiązań twardych oraz symbolicznych.
Spis treści |
Użycie [edytuj]
ln [opcje] źródło cel
- źródło – plik lub pliki do których tworzy się dowiązanie
- cel – nazwa pliku lub katalogu; jeśli cel jest nazwą pliku, stworzony zostanie link o konkretnej – podanej nazwie, jeśli zaś cel jest folderem zostaną w nim utworzone dowiązania do źródła, o nazwach identycznych z nazwami źródłowymi
Opcje [edytuj]
Single UNIX Specification definiuje dwie opcje:
- -s – tworzy dowiązania symboliczne.
- -f – wymusza (ang. force) umieszczenie dowiązań, nawet gdy istnieją już pliki o tej samej nazwie.
Wersja z GNU Coreutils dopuszcza także m.in:
- -b – stworzenie kopii zapasowej plików (ang. backup)
- -v – wyświetlanie szczegółowych informacji (ang. verbose mode)
Przykłady [edytuj]
$ ln abc def
Tworzy dowiązanie twarde z pliku abc w pliku def.
Dowiązania symboliczne [edytuj]
Jeżeli w pustym katalogu test utworzymy plik źródło o treści abc:
$ ls -ali total 8 969797 drwxr-xr-x 2 test test 4096 Dec 9 09:10 . 1036602 drwxr-xr-x 3 test test 4096 Dec 9 09:10 .. $ echo abc > źródło $ ls -ali total 12 969797 drwxr-xr-x 2 test test 4096 Dec 9 09:11 . 1036602 drwxr-xr-x 3 test test 4096 Dec 9 09:10 .. 969768 -rw-r--r-- 1 test test 10 Dec 9 09:11 źródło
to liczba reference count zwiększy się z 8 do 12, a dane zostaną zapisane pod i-węzłem np. 969768. Jeżeli następnie stworzy się dowiązanie symboliczne link:
$ ln -s źródło link $ ls -ali total 12 969797 drwxr-xr-x 2 test test 4096 Dec 9 09:11 . 1036602 drwxr-xr-x 3 test test 4096 Dec 9 09:10 .. 969768 -rw-r--r-- 1 test test 10 Dec 9 09:11 źródło 969817 lrwxrwxrwx 1 test test 8 Dec 9 09:11 link -> źródło
to liczba reference count nie zwiększy się, ale link zostanie zapisany pod innym i-węzłem (np. 969817). Teraz można się przekonać, że plik link jest dowiązaniem symbolicznym:
$ file link link: dowiązanie symboliczne do `źródło`
a także odczytać jego zawartość:
$ cat link abc
Jednakże, gdyby usunąć plik źródło, odczyt byłby niemożliwy.
$ rm -f źródło $ ls -ali total 8 969797 drwxr-xr-x 2 test test 4096 Dec 9 09:36 . 1036602 drwxr-xr-x 3 test test 4096 Dec 9 09:32 .. 969817 lrwxrwxrwx 1 test test 8 Dec 9 09:11 link -> źródło $ file link link: zerwane dowiązanie symboliczne do `źródło` $ cat link cat: link: Nie ma takiego pliku lub katalogu
Gdyby jednak link był dowiązaniem twardym to dane byłyby dostępne.
Linki zewnętrzne [edytuj]
- ln -- specyfikacja Single Unix Specification
Strony man [edytuj]
- ln -- strona manuala z GNU Coreutils
ln(1)– podręcznik dyskowy w systemie OpenBSDln(1)– podręcznik dyskowy w systemie Linux
|
||||||||||||||||||||||||||