SYMLINK(2) Linux Programmeurs Handleiding SYMLINK(2)

symlink, symlinkat - maak een nieuwe naam voor een bestand

#include <unistd.h>
int symlink(const char *oudpad, const char *nieuwpad);
#include <fcntl.h>           /* Definitie van AT_* constanten */
#include <unistd.h>
int symlinkat(const char *oudpad, int nieuwmapbi, const char *nieuwpad);
Test Macro´s 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

symlink() maakt een symbolische koppeling genaamd nieuwpad die het karakter-string oudpad bevat.

Symbolische koppelingen worden geïnterpreteerd 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, maar wordt gecontroleerd als verwijdering of hernoemen van de koppeling wordt gevraagd en als de koppeling in een map staat met het sticky bit (S_ISVTX) gezet.

Als nieuwpad bestaat zal het niet overschreven worden.

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 geïnterpreteerd 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 geïnterpreteerd relatief aan de huidige werk map van het aanroepende proces (zoals symlink().

Als nieuwpad absoluut is, dan wordt nieuwmapbi genegeerd.

Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.

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).)
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.
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.
EPERM
Het bestandssysteem dat nieuwpad bevat, ondersteund het maken van symbolische koppelingen niet.
EROFS
nieuwpad is op een alleen-lezen bestandssysteem.

De volgende extra fouten kunnen optreden voor symlinkat():

EBADF
nieuwmapbi is geen geldige bestand beschrijving.
ENOENT
nieuwpad is een relatieve padnaam en nieuwmapbi wijst naar een map die werd verwijdert.
ENOTDIR
nieuwpad is relatief en nieuwmapbi is een bestand beschrijving die naar een bestand in plaats van een map wijst.

symlinkat() is toegevoegd aan Linux in kernel 2.6.16; bibliotheek ondersteuning is toegevoegd aan glibc in versie 2.4.

symlink(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008.

symlinkat(): POSIX.1-2008.

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).

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.

ln(1), namei(1), lchown(2), link(2), lstat(2), open(2), readlink(2), rename(2), unlink(2), path_resolution(7), symlink(7)

Deze pagina is onderdeel van release 5.11 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

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 debian-l10n-dutch@lists.debian.org.

22 maart 2021 Linux