Provided by: manpages-nl_20051127-4_all
 

NAAM

        rename - verander de naam of plaats van een bestand
 

OVERZICHT

        #include <stdio.h>
 
        int rename(const char *oudpad, const char *nieuwpad);
 

BESCHRIJVING

        rename  hernoemd  een bestand, het naar andere directories verplaatsend
        als nodig.
 
        Elke andere harde koppeling naar het bestand (gemaakt met link(2)) bli‐
        jft onaangetast.
 
        Als  nieuwpad  al  bestaat wordt het automatisch vervangen (afhankelijk
        van een paar voorwaarden - zie FOUTEN onder), zodat er geen  moment  is
        waarop  een  ander  proces dat toegang tot nieuwpad probeert te krijgen
        het zal missen.
 
        Als nieuwpad bestaat maar de handeling faalt om een  of  andere  reden,
        dan garandeert rename , nieuwpad op zijn plaats te laten.
 
        Maar:  bij  het  overschrijven  zal er waarschijnlijk een interval zijn
        waarin oudpad en nieuwpad allebei naar het bestand dat  hernoemd  wordt
        wijzen.
 
        Als  oudpad  naar  een  symbolische link wijst, wordt de koppeling her‐
        noemd; als nieuwpad naar een symbolische link wijst wordt de  koppeling
        overschreven.
        Bij success wordt nul teruggegeven. Bij falen wordt -1 teruggegeven, en
        wordt errno naar behoren gezet.
 

FOUTEN

        EISDIR {is dir} nieuwpad is een bestaande dir, maar oudpad is geen dir.
 
        EXDEV  {?  apparaat}  oudpad  en  nieuwpad  zitten  niet  op  hetzelfde
               bestandsysteem.
 
        ENOTEMPTY of EEXIST
               {niet leeg} {bestaat} nieuwpad is een niet-lege dir,  het  bevat
               andere ingangen dan "." en "..".
 
        EBUSY  {bezig} Het hernoemen faalde omdat oudpad of nieuwpad een dir is
               die in gebruik is  door  een  of  ander  proces  (misschien  als
               huidige  werk-directorie,  of als root {eng: root} dir, of omdat
               het voor schrijven open was) of het is in gebruik door het  sys‐
               teem  (bijvoorbeeld als mount {eng: mount} punt), en het systeem
               beschouwd dit als een fout.  (Merk op dat er geen vereiste is om
               EBUSY  terug  te geven is in deze gevallen - er is niets mis met
               het hoe-dan-ook doen van de hernoeming - maar het wordt  toeges‐
               taan  om  EBUSY  terug te geven als het systeem dergelijke situ‐
               aties niet anders kan afhandelen.
 
        EINVAL {ongeldig} De nieuwe padnaam bevat een voorvoegsel van de  oude,
               of,  algemener,  een  poging werd gedaan om een dir een onderdir
               van zichzelf te maken.
 
        EMLINK {max verbind} oudpad heeft al  het  maximum  aantal  koppelingen
               naar  zich  toe, of het was een dir en de dir die nieuwpad bevat
               heeft al het maximum aantal koppelingen.
 
        ENOTDIR
               {geen dir} Een deel gebruikt als een dir in oudpad  of  nieuwpad
               is  in  feite  geen  dir.   Of,  oudpad  is een dir, en nieuwpad
               bestaat maar is geen dir.
 
        EFAULT {fout} oudpad of nieuwpad wijzen  buiten  door  u  toegankelijke
               adres ruimte.
 
        EACCES {toegang} Schrijf toegang in de dir die oudpad of nieuwpad bevat
               is niet toegestaan voor het proces zijn geldende uid, of een van
               de  directories  in  oudpad of nieuwpad liet geen zoek (uitvoer)
               toestemming toe, of oudpad was een dir  maar  liet  geen  schri‐
               jftoestemming toe (benodigd om de ..  ingang bij te werken).
 
        EPERM of EACCES
               {toestemming} {toegang} De dir die oudpad bevat heeft het sticky
               bit gezet en het proces zijn geldige uid is niet dat  van  root,
               nog  het  uid  van het bestand dat geschrapt zal worden, nog dat
               van de dir die het bevat, of nieuwpad is een bestaand bestand en
               de dir die het bevat heeft het sticky bit gezet maar het geldige
               uid van het proces is niet dat van root  nog  het  uid  van  het
               bestand  dat  verplaatst  zal  worden nog dat van de dir die het
               bevat, of het bestandsysteem waar padnaam op zit ondersteund  de
               gevraagde hernoem-soort niet.
 
        ENAMETOOLONG
               {naam te lang} oudpad of nieuwpad is te lang.
 
        ENOENT {geen  ingang}  Een dir deel van oudpad of nieuwpad bestaat niet
               of is een loshangende symbolische koppeling.
 
        ENOMEM {geen geheugen} Onvoldoende besturingssysteem geheugen  voorhan‐
               den.
 
        EROFS  {alleen-lezen   b.s.}   Het   bestand  is  op  een  alleen-lezen
               bestandsysteem.
 
        ELOOP  {cirkel} Teveel symbolische koppelingen werden tegengekomen  bij
               het "oplossen" van oudpad of nieuwpad.
 
        ENOSPC {geen  ruimte}  Het  apparaat  dat  het bestand bevat heeft geen
               ruimte voor een nieuwe dir ingang.
        POSIX, 4.3BSD, ANSI C
 

BUGS

        Op NFS bestandsystemen kun je niet aannemen dat als een handeling  mis‐
        lukte, het bestand niet hernoemd werd. Als de server de hernoem-handel‐
        ing doet en gecrasht {eng: crashes} dan zal de  herverstuurde  RPC  die
        afgehandeld  zal worden als de server het weer doet, een fout veroorza‐
        ken. Van toepassing wordt verwacht hiermee om  te  gaan.   Zie  link(2)
        voor gelijksoortige problemen.
 

ZIE

        link(2)  {verbind},  unlink(2) {maak-los}, symlink(2) {symbolische kop‐
        peling}, mv(1) {verplaats}
 

VERTALING

        Dit is  een  handleiding  uit  manpages-dev  1.29.   Alles  wat  tussen
        ‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
        handleiding.  Email naar <manpages-nl@nl.linux.org>.
 
        $Id: rename.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $