rename

RENAME(2)                Linux Programmeurs Handleiding                RENAME(2)



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)) blijft
       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 hernoemd;
       als nieuwpad naar een symbolische link wijst wordt de koppeling
       overschreven.

TERUGGEEF WAARDE
       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 systeem
              (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 toegestaan om
              EBUSY terug te geven als het systeem dergelijke situaties 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
              schrijftoestemming 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 voorhanden.

       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.

VOLDOET AAN
       POSIX, 4.3BSD, ANSI C

BUGS
       Op NFS bestandsystemen kun je niet aannemen dat als een handeling
       mislukte, het bestand niet hernoemd werd. Als de server de hernoem-
       handeling doet en gecrasht {eng: crashes} dan zal de herverstuurde RPC
       die afgehandeld zal worden als de server het weer doet, een fout
       veroorzaken. 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
       koppeling}, 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 $



Linux 2.0                          4 Juni 1998                         RENAME(2)