SYMLINK(2)

NAZWA
symlink - tworzenie nowej nazwy dla pliku

SKŁADNIA
#include <unistd.h>

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

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

symlink tworzy dowiązanie symboliczne o nazwie newpath które zawiera łańcuch znakowy oldpath. Dowiązania symboliczne są interpretowane w czasie działania, tak jakby zawartość dowiązania była podstawiana do ścieżki, przeglądanej by znaleźć plik lub katalog. Dowiązania symboliczne mogą zawierać składniki .., które (jeśli używane na początku dowiązania) odnoszą się do katalogów nadrzędnych katalogu, w którym dane dowiązanie się znajduje. Dowiązanie symboliczne (znane również pod nazwą miękiego dowiązania) może wskazywać na plik istniejący, lub nie istniejący; ten drugi przypadek znany jest pod pojęciem wiszącego dowiązania. Prawa dostępu dla dowiązania symbolicznego są nieistotne; jego właścicielstwo jest ignorowane podczas podążania za nim, lecz sprawdzane podczas usuwania lub przemianowywania, gdy dowiązanie jest w katalogu z ustawionym bitem `sticky'. Jeśli ścieżka newpath istnieje to nie będzie nadpisana.

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

BŁĘDY

EPERM
    System plików zawierający pathname nie zezwala na tworzenie dowiązań symbolicznych.

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

EACCES
    Zapis do katalogu zawierającego newpath nie jest dozwolony dla efektywnego UID procesu wywołującego tę funkcję lub jeden z katalogów w newpath nie pozwala na przeszukiwanie (wykonywanie).

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

ENOENT
    Składnik newpath, który powinien być katalogiem, nie istnieje lub jest wiszącym dowiązaniem symbolicznym lub oldpath jest łańcuchem pustym.

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

ENOMEM
    Brak pamięci jądra.

EROFS
    Plik newpath znajduje się na systemie plików tylko dla odczytu.

EEXIST
    newpath już istnieje.

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

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

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

UWAGI
Nie jest dokonywane sprawdzenie oldpath. Usunięcie nazwy, na którą wskazuje dowiązanie symboliczne, w rzeczywistości spowoduje skasowanie pliku (chyba że ma jeszcze inne twarde dowiązania). Jeśli zachowanie to nie jest porządane, należy używać link.

ZGODNE Z
SVr4, SVID, BSD 4.3 X/OPEN. SVr4 dokumentuje dodatkowe kody błędów EDQUOT i ENOSYS. Zobacz open(2) po wiele plików o tej samej nazwie oraz NFS.

ZOBACZ TAKŻE
readlink(2), link(2), unlink(2), rename(2), open(2), lstat(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 symlink

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