.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" %%%LICENSE_START(BSD_4_CLAUSE_UCB) .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" %%%LICENSE_END .\" .\" @(#)truncate.2 6.9 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1996-10-22 by Eric S. Raymond .\" Modified 1998-12-21 by Andries Brouwer .\" Modified 2002-01-07 by Michael Kerrisk .\" Modified 2002-04-06 by Andries Brouwer .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH TRUNCATE 2 "6 mars 2019" Linux "Manuel du programmeur Linux" .SH NOM truncate, ftruncate \- Tronquer un fichier à une longueur donnée .SH SYNOPSIS \fB#include \fP .br \fB#include \fP .PP \fBint truncate(const char *\fP\fIpath\fP\fB, off_t \fP\fIlength\fP\fB);\fP .br \fBint ftruncate(int \fP\fIfd\fP\fB, off_t \fP\fIlength\fP\fB);\fP .PP .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7))\ : .RE .ad l .PP \fBtruncate\fP()\ : .RS 4 .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || /* Depuis la glibc 2.12\ : */ _POSIX_C_SOURCE\ >=\ 200809L || /* Versions de la glibc <= 2.19\ : */ _BSD_SOURCE .RE .PP \fBftruncate\fP()\ : .RS 4 .\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE\ >=\ 500 || /* Depuis la glibc 2.3.5 : */ _POSIX_C_SOURCE\ >=\ 200112L || /* Glibc versions <= 2.19 : */ _BSD_SOURCE .RE .ad b .SH DESCRIPTION Les appels \fBtruncate\fP() et \fBftruncate\fP() tronquent le fichier ordinaire référencé par \fIpath\fP ou par le descripteur \fIfd\fP à une longueur d'exactement \fIlength\fP octets. .PP Si le fichier était plus long, les données supplémentaires sont perdues. Si le fichier était plus court, il est étendu, et la portion supplémentaire est remplie avec des octets NULL («\ \e0\ »). .PP Le pointeur de position n'est pas modifié. .PP Si la taille est modifiée, les champs st_ctime et st_mtime du fichier (respectivement heure de dernière modification d'état et heure de dernière modification\ ; consultez \fBinode\fP(7)) sont mis à jour, et les bits Set\-UID et Set\-GID peuvent être effacés. .PP Avec \fBftruncate\fP(), le fichier doit être ouvert en écriture\ ; avec \fBtruncate\fP(), il doit être accessible en écriture. .SH "VALEUR RENVOYÉE" En cas de succès, zéro est renvoyé. En cas d'erreur, \fB\-1\fP est renvoyé et \fIerrno\fP reçoit une valeur adéquate. .SH ERREURS Pour \fBtruncate\fP()\ : .TP \fBEACCES\fP Le fichier n'est pas accessible en écriture ou un élément du chemin d'accès ne permet pas le parcours. (Consultez aussi \fBpath_resolution\fP(7).) .TP \fBEFAULT\fP L'argument \fIPath\fP pointe en dehors de l'espace d'adressage alloué au processus. .TP \fBEFBIG\fP L'argument \fIlength\fP dépasse la taille maximale d'un fichier (XSI). .TP \fBEINTR\fP Alors qu'il était bloqué en attente de fin, l'appel a été interrompu par un gestionnaire de signal\ ; consultez \fBfcntl\fP(2) et \fBsignal\fP(7). .TP \fBEINVAL\fP L'argument \fIlength\fP est négatif ou plus grand que la taille maximale d'un fichier. .TP \fBEIO\fP Une erreur d'entrée\-sortie s'est produite lors de la mise à jour de l'inode. .TP \fBEISDIR\fP Le fichier est en réalité un répertoire. .TP \fBELOOP\fP Trop de liens symboliques ont été rencontrés en parcourant le chemin. .TP \fBENAMETOOLONG\fP Un composant du chemin dépasse 255\ caractères ou le chemin complet dépasse 1023\ caractères. .TP \fBENOENT\fP Le fichier indiqué n'existe pas. .TP \fBENOTDIR\fP Un élément du chemin d'accès n'est pas un répertoire. .TP \fBEPERM\fP .\" This happens for at least MSDOS and VFAT filesystems .\" on kernel 2.6.13 Le système de fichiers ne permet pas d'agrandir un fichier au\-delà de sa taille actuelle. .TP \fBEPERM\fP La lecture a été interrompue par un signal\ ; consultez \fBfnctl\fP(2). .TP \fBEROFS\fP Le fichier indiqué réside sur un système de fichiers en lecture seule. .TP \fBETXTBSY\fP Le fichier est un fichier exécutable actuellement en cours d'exécution. .PP Pour \fBftruncate\fP(), les mêmes erreurs sont possibles, sauf qu'au lieu des problèmes avec \fIpath\fP, on peut en avoir avec le descripteur de fichier \fIfd\fP\ : .TP \fBEBADF\fP \fIfd\fP n'est pas un descripteur de fichier valable. .TP \fBEBADF\fP ou \fBEINVAL\fP \fIfd\fP n'est pas ouvert en écriture. .TP \fBEINVAL\fP \fIfd\fP n'est pas un descripteur de fichier ordinaire ni un objet de mémoire partagé POSIX. .TP \fBEINVAL\fP ou \fBEBADF\fP Le descripteur de fichier \fIfd\fP n'est pas ouvert en écriture. POSIX permet l'une ou l'autre erreur dans ce cas, et les applications portables devraient les gérer. (Linux produit \fBEINVAL\fP.) .SH CONFORMITÉ .\" POSIX.1-1996 has .\" .BR ftruncate (). .\" POSIX.1-2001 also has .\" .BR truncate (), .\" as an XSI extension. .\" .LP .\" SVr4 documents additional .\" .BR truncate () .\" error conditions EMFILE, EMULTIHP, ENFILE, ENOLINK. SVr4 documents for .\" .BR ftruncate () .\" an additional EAGAIN error condition. POSIX.1\-2001, POSIX.1\-2008, 4.4BSD, SVr4 (ces appels système sont apparus dans 4.2BSD). .SH NOTES \fBftruncate\fP() peut aussi être utilisé pour régler la taille d'un objet de mémoire partagé POSIX\ ; consultez \fBshm_open\fP(3). .PP .\" At the very least: OSF/1, Solaris 7, and FreeBSD conform, mtk, Jan 2002 Les détails dans la section DESCRIPTION sont ceux de systèmes compatibles XSI. Pour les systèmes non compatibles, la norme POSIX autorise deux comportements pour \fBftruncate\fP() quand \fIlength\fP dépasse la longueur du fichier (notez que \fBtruncate\fP() n'est pas du tout spécifié dans un tel environnement)\ : soit renvoyer une erreur, soit étendre le fichier. Linux, comme la plupart des implémentations d'UNIX, suit les exigences de XSI sur les systèmes de fichiers natifs. Cependant, certains systèmes de fichiers non natifs ne permettent pas l'utilisation de \fBtruncate\fP() et \fBftruncate\fP() pour étendre un fichier au\-delà de sa taille actuelle\ : un exemple notable sous Linux est VFAT. .PP Les appels système \fBtruncate\fP() et \fBftruncate\fP() originaux de Linux n'ont pas été conçus pour gérer les positions dans des gros fichiers. En conséquence, Linux\ 2.4 a ajouté les appels système \fBtruncate64\fP() et \fBftruncate64\fP() qui permettent de gérer de gros fichiers. Cependant, ces détails peuvent être ignorés par les applications qui utilisent la glibc, dont les fonctions d'enveloppe emploient de manière transparente les appels système les plus récents disponibles. .PP Sur certaines architectures 32\ bits, la signature d'appel de ces appels système est différente, pour les raisons expliquées dans \fBsyscall\fP(2). .SH BOGUES .\" http://sourceware.org/bugzilla/show_bug.cgi?id=12037 Un bogue dans les en\(hytêtes de la glibc\ 2.12 fait que la valeur minimale de \fB_POSIX_C_SOURCE\fP requise pour exposer la déclaration \fBftruncate\fP() était 200809L au lieu de 200112L. Ce bogue a été corrigé dans les versions ultérieures de la glibc. .SH "VOIR AUSSI" \fBtruncate\fP(1), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .