symlink(2)

NAAM
symlink, symlinkat - maak een nieuwe naam voor een bestand

BIBLIOTHEEK
Standard C bibliotheek (libc, -lc)

SAMENVATTING
#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);

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

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 <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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.