Provided by: manpages-nl-dev_4.27.0-1_all bug

NAAM

       truncate, ftruncate - snoei een bestand terug tot een bepaalde lengte

BIBLIOTHEEK

       Standard C bibliotheek  (libc, -lc)

SAMENVATTING

       #include <unistd.h>

       int truncate(const char *pad, off_t lengte);
       int ftruncate(int fd, off_t lengte);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       truncate():
           _XOPEN_SOURCE >= 500
               || /* Vanaf glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* Glibc <= 2.19: */ _BSD_SOURCE

       ftruncate():
           _XOPEN_SOURCE >= 500
               || /* Vanaf glibc 2.3.5: */ _POSIX_C_SOURCE >= 200112L
               || /* Glibc <= 2.19: */ _BSD_SOURCE

BESCHRIJVING

       truncate()  en  ftruncate()  veroorzaken  dat  het  bestand  genoemd  in  pad  of  verwezen  naar door bi
       teruggesnoeid wordt tot hoogstens lengte bytes in grootte.

       Als het bestand eerder groter dan deze maat was zijn de extra gegevens verloren. Als het  bestand  eerder
       korter  was  is  het onbepaald of het bestand onveranderd wordt gelaten of wordt verlengd. In het laatste
       geval wordt het toegevoegde deel als nul-bytes ('\0') gelezen.

       De bestands afstand is niet veranderd.

       Als de grootte veranderde, dan worden de st_ctime and st_mtime velden (respectievelijk, tijdstip  van  de
       laatste  status  verandering  en  tijdstip  van  de  laatste  wijziging;  zie  inode(7)) aangepast, en de
       set-user-ID en de set-group-ID modus bits mogen gewist worden.

       Voor ftruncate() moet het  bestand  open  zijn  om  te  schrijven;  voor  truncate(),  moet  het  bestand
       schrijfbaar zijn.

EIND WAARDE

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

FOUTEN

       Voor truncate():

       EACCES Zoek  toestemming werd geweigerd voor een deel van het pad voorvoegsel, of het genoemde bestand is
              niet schrijfbaar door de gebruiker. (Zie ook path_resolution(7).)

       EFAULT Het argument pad wijst buiten de toegewezen adres ruimte van het proces.

       EFBIG  Het argument lengte is groter dan de maximum bestandsgrootte. (XSI)

       EINTR  Zolang geblokkeerd wachten op beëindiging, de aanroep werd onderbroken door een signaal verwerker;
              zie fcntl(2)  en signal(7).

       EINVAL Het argument lengte is negatief of groter dan de maximum bestandsgrootte.

       EIO    Een In/Uit fout trad op tijdens het bij de tijd brengen van de inode.

       EISDIR Het genoemde bestand is een map.

       ELOOP  Teveel symbolische koppelingen werden tegengekomen bij het vertalen van de padnaam.

       ENAMETOOLONG
              Een deel van de padnaam overtreft 255 karakters, of een hele padnaam overtreft 1023 karakters.

       ENOENT Het genoemde bestand bestaat niet.

       ENOTDIR
              Een deel van het pad-voorvoegsel is geen map.

       EPERM  Het onderliggende bestandssysteem ondersteund uitbreiding van  het  bestand  boven   zijn  huidige
              grootte niet.

       EPERM  De operatie werd voorkomen door een bestandszegel; zie fcntl(2).

       EROFS  Het benoemde bestand verblijft op een alleen-lezen bestandsysteem.

       ETXTBSY
              Het bestand is een uitvoerbaar bestand dat wordt uitgevoerd.

       Voor  ftruncate()  zijn dezelfde fouten van toepassing, maar in plaats van zaken die fout kunnen gaan met
       padnaam, kunnen nu zaken fout gaan met de bestands beschrijving, fd:

       EBADF  bb is geen geldige bestandsbeschrijving.

       EBADF of EINVAL
              De bi is niet open voor schrijven.

       EINVAL fd refereert niet naar een regulier bestand of naar een POSIX gedeeld geheugen object.

       EINVAL of EBADF
              De bestands beschrijving fd is niet  open  voor  schrijven.  POSIX  staat  toe,  en  overdraagbare
              applicatie moeten elke fout voor dit geval afhandelen. (Linux produceert EINVAL.)

VERSIES

       De details in BESCHRIJVING zijn voor systemen die voldoen aan XSI. Voor systemen die niet voldoen aan XSI
       staat  de  POSIX standaard twee gedragingen toe voor ftruncate() als length de bestandslengte overschrijd
       (let op dat truncate() is niet gespecificeerd in die omgeving): ofwel een  fout  teruggevende  ofwel  het
       bestand  uitbreidende. Zoals de meeste UNIX implementaties volgt Linux de XSI eis bij in omgaan met eigen
       bestandssystemen. Echter, sommige niet-eigen bestandsystemen staan niet toe om truncate() en  ftruncate()
       te  gebruiken om een bestand uit te breiden boven zijn huidige lengte: een opmerkelijk voorbeeld op Linux
       is VFAT.

       Op sommige 32-bit architecturen, verschillen  de  oproepende  signaturen  voor  deze  systeem  aanroepen,
       vanwege redenen zoals beschreven in syscall(2).

VOLDOET AAN

       POSIX.1-2008.

GESCHIEDENIS

       POSIX.1-2001, 4.4BSD, SVr4 (deze functie aanroepen verschenen voor het eerst in 4.2BSD).

       De  originele  Linux  truncate()  en ftruncate() systeem aanroepen waren niet ontworpen om grote bestands
       afstanden te behandelen.

OPMERKINGEN

       ftruncate() kan ook worden gebruikt om de grootte van een POSIX gedeeld geheugen object  in  te  stellen;
       zie shm_open(3).

BUGS

       Een bug  in een kop bestand van glibc 2.12 leidde er toe dat de minimale waarde van _POSIX_C_SOURCE in de
       declaratie van ftruncate() moest veranderen van  200809L in plaats van 200112L. Dit is opgelost in latere
       versies van glibc.

ZIE OOK

       truncate(1), open(2), stat(2), path_resolution(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  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.

Linux man-pagina's 6.9.1                          15 juni 2024                                       truncate(2)