symlink

Autres langues

Langue: pl

Version: 1997-08-21 (fedora - 25/11/07)

Autres sections - même nom

Section: 2 (Appels système)

NAZWA

symlink - tworzenie nowej nazwy dla pliku

SKŁADNIA

#include <unistd.h>

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

OPIS

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)