LINK(2)

NAZWA
link - utworzenie nowej nazwy dla pliku

SKŁADNIA
#include <unistd.h>

int link(const char *oldpath, const char *newpath);

OPIS
Uwaga! To tłumaczenie może być nieaktualne!

link tworzy nowe dowiązanie (nazywane też dowiązaniem twardym) do istniejącego pliku.

Jeśli plik newpath już istnieje, to nie będzie nadpisany.

Ta nowa nazwa może być używana dokłądnie tak samo jak stara w dowolnychoperacjach; obie nazwy odnoszą się do tego samego pliku (i w związku z tym mają te same prawa i właścicielstwo). Nie można też powiedzieć, która nazwa jest `oryginalna'.

WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i odpowiednio ustawiane errno.

BŁĘDY

EXDEV
    oldpath i newpath nie leżą na tym samym systemie plików.

EPERM
    system plików zawierający oldpath i newpath nie obsługuje tworzenia twardych dowiązań.

EFAULT
    oldpath lub newpath wskazuje poza dostępną dla użyrkownika przestrzeń adresową.

EACCES
    Zapis do katalogu zawierającego newpath nie jest dozwolony dla efekywnego UID procesu, lub jeden z katalogów w oldpath lub newpath nie daje uprawnień przeszukiwania (wykonania).

ENAMETOOLONG
    oldpath lub newpath było zbyt długie.

ENOENT
    Składnik katalogu w oldpath lub newpath nie istnieje, lub jest wiszącym dowiązaniem symbolicznym.

ENOTDIR
    Składnik oldpath lub newpath używany jako katalog nie jest w rzeczywistości katalogiem.

ENOMEM
    Brak dostępnej pamięci jądra.

EROFS
    Plik leży na systemie plików tylko dla odczytu.

EEXIST
    newpath już istnieje.

EMLINK
    Plik wskazywany przez oldpath ma już maksymalną ilość dowiązań.

ELOOP
    Podczas rozwiązywania oldpath lub newpath napotkano zbyt wiele dowiązań symbolicznych.

ENOSPC
    Na urządzeniu, zawierającym plik nie ma miejsca na nowy wpis w katalogu.

EPERM
    oldpath jest katalogiem.

EIO Wystąpił błąd we/wy.

UWAGI
Twarde dowiązania, tworzone z pomocą link, nie mogą wykraczać poza jeden system plików. W takich sytuacjach można użyć funkcji symlink.

ZGODNE Z
SVr4, SVID, POSIX, BSD 4.3, X/OPEN. SVr4 dokumentuje dodatkowe błędy ENOLINK i EMULTIHOP; POSIX.1 nie dokumentuje ELOOP. X/OPEN nie dokumentuje EFAULT, ENOMEM ani EIO.

USTERKI
Na systemach NFS, wartość zwracana może być nieprawidłowa w wypadku gdy serwer NFS dokonuje tworzenia dowiązania i umiera przed zakomunikowaniem tego faktu. Można użyć stat(2) aby dowiedzieć się czy dowiązanie zostało utworzone.

ZOBACZ TAKŻE
symlink(2), unlink(2), rename(2), open(2), stat(2), ln(1)

INFORMACJE O TŁUMACZENIU
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

    man --locale=C 2 link

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.