symlink(2) System Calls Manual symlink(2) NAAM symlink, symlinkat - maak een nieuwe naam voor een bestand BIBLIOTHEEK Standard C bibliotheek (libc, -lc) SAMENVATTING #include int symlink(const char *oudpad, const char *nieuwpad); #include /* Definitie van AT_* constanten */ #include int symlinkat(const char *oudpad, int nieuwmapbi, const char *nieuwpad); Feature Test Macro's eisen in glibc (zie feature_test_macros(7)): symlink(): _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE symlinkat(): Vanaf glibc 2.10: _POSIX_C_SOURCE >= 200809L Voor glibc 2.10: _ATFILE_SOURCE BESCHRIJVING symlink() maakt een symbolische koppeling genaamd nieuwpad die het karakter-string oudpad bevat. Symbolische koppelingen worden geinterpreteerd tijdens draaien, alsof de inhoud van de koppeling vervangen werd door het pad dat gevolgd werd om een bestand of map te vinden. Symbolische koppelingen kunnen .. pad onderdelen bevatten, die (als ze gebruikt worden aan het begin van de koppeling) wijzen naar de ouder mappen van die waarin de koppeling staat. Een symbolische koppeling (ook bekend als zachte koppeling) mag wijzen naar een bestaand bestand of naar een niet bestaand; het laatste geval staat bekend als een loshangende koppeling. De toestemmingen van een symbolische koppeling zijn onbelangrijk; het eigendom wordt genegeerd bij het volgen van de koppeling (behalve als het protected_symlinks feature werd aangezet., zoals uitgelegd in proc(5), maar wordt gecontroleerd als verwijdering of hernoemen van de koppeling werd gevraagd en als de koppeling in een map staat met het sticky bit (S_ISVTX) gezet. Als nieuwpad bestaat zal het niet overschreven worden. symlinkat() De symlinkat() systeem aanroep functioneert op exact dezelfde manier als sysmlink(), behalve voor die verschillen zoals hier beschreven. Als de padnaam gegeven in nieuwpad relatief is, dan wordt deze geinterpreteerd relatief aan de map gerefereerd door de bestand beschrijving nieuwmapbi (anders dan relatief aan de huidige werk map van het aanroepende proces, zoals gedaan door sysmlink() voor een relatieve padnaam). Als nieuwpad relatief is en nieuwmapbi is gelijk aan de speciale waarde AT_FDCWD, dan wordt nieuwpad geinterpreteerd relatief aan de huidige werk map van het aanroepende proces (zoals symlink(). Als nieuwpad absoluut is, dan wordt nieuwmapbi genegeerd. Zie openat(2) voor de uitleg over de noodzaak van readlinkat(). EIND WAARDE Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet. FOUTEN EACCES Schrijf toegang in de map die nieuwpad bevat wordt niet toegestaan, of een van de mappen in het voorvoegsel van nieuwpad liet zoeken niet toe. (Zie ook path_resolution(7).) EBADF (symlinkat()) linkpath is relatief maar nieuwmapbi is noch AT_FDCWD noch een geldige bestandsindicator. EDQUOT De gebruikers quota van bronnen op het bestandssysteem zijn uitgeput. De bronnen kunnen inodes of blokken op de schijf zijn, afhankelijk van de implementatie van het bestandssysteem. EEXIST nieuwpad bestaat al. EFAULT oudpad of nieuwpad wijzen buiten uw toegankelijk geheugen. EIO Een Invoer/Uitvoer fout trad op. ELOOP Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van nieuwpad. ENAMETOOLONG oudpad of nieuwpad was te lang. ENOENT Een map deel in nieuwpad bestaat niet of is een loshangende symbolische koppeling, of oudpad of nieuwpad is een lege string. ENOENT (symlinkat()) nieuwpad is een relatieve padnaam en nieuwmapbi wijst naar een map die werd verwijderd. ENOMEM Onvoldoende kernelgeheugen voorhanden. ENOSPC Het apparaat waar het bestand op zit heeft geen ruimte voor een nieuwe map. ENOTDIR Een deel gebruikt als een map in nieuwpad is in feite geen map. ENOTDIR (symlinkat()) nieuwpad is relatief en nieuwmapbi is een bestandsindicator die naar een bestand in plaats van een map wijst. EPERM Het bestandssysteem dat nieuwpad bevat, ondersteund het maken van symbolische koppelingen niet. EROFS nieuwpad is op een alleen-lezen bestandssysteem. VOLDOET AAN POSIX.1-2008. GESCHIEDENIS symlink() SVr4, 4.3BSD, POSIX.1-2001. symlinkat() POSIX.1-2008. Linux 2.6.16, glibc 2.4. Glibc-opmerkingen Op oudere kernels waar symlinkat() niet beschikbaar is, valt de glibc omwikkel functie terug op het gebruik van symlink(). Als nieuwpad een relatieve padnaam is, dan construeert glibc een padnaam gebaseerd op de symbolische koppeling in /proc/self/df die overeenkomt met het nieuwmapbi argument. OPMERKINGEN oudpad wordt niet gecontroleerd. Wissen van de naam waar de symbolische koppeling naar wijst zal daadwerkelijk het bestand wissen (tenzij het ook nog andere harde koppelingen heeft.) Als dit gedrag ongewenst is, gebruik link(2). ZIE OOK ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2), path_resolution(7), symlink(7) VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blattermann en Luc Castermans Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar . Linux man-pages 6.06 31 oktober 2023 symlink(2)