.\" -*- coding: UTF-8 -*- '\" t .\" $NetBSD: fts.3,v 1.13.2.1 1997/11/14 02:09:32 mrg Exp $ .\" .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fts 3 "20 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH NOM fts, fts_open, fts_read, fts_children, fts_set, fts_close \- Parcourir une hiérarchie de fichiers .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP \fB#include \fP \fB#include \fP .PP \fBFTS *fts_open(char *const *\fP\fIpath_argv\fP\fB, int \fP\fIoptions\fP\fB,\fP \fB int (*_Nullable \fP\fIcompar\fP\fB)(const FTSENT **, const FTSENT **));\fP .PP \fBFTSENT *fts_read(FTS *\fP\fIftsp\fP\fB);\fP .PP \fBFTSENT *fts_children(FTS *\fP\fIftsp\fP\fB, int \fP\fIinstr\fP\fB);\fP .PP \fBint fts_set(FTS *\fP\fIftsp\fP\fB, FTSENT *\fP\fIf\fP\fB, int \fP\fIinstr\fP\fB);\fP .PP \fBint fts_close(FTS *\fP\fIftsp\fP\fB);\fP .fi .SH DESCRIPTION Les fonctions de la famille fts servent à traverser des hiérarchies de fichiers. Disons rapidement que la fonction \fBfts_open\fP() renvoie un descripteur («\ handler\ » —\ de type \fIFTS\ *\fP) qui fait référence à un «\ flux\ » de hiérarchie de fichiers. Ce descripteur est ensuite fourni aux autres fonctions de la famille fts. La fonction \fBfts_read\fP() renvoie un pointeur sur une structure décrivant l'un des fichiers de l'arborescence. La fonction \fBfts_children\fP() renvoie un pointeur sur une liste chaînée de structures, chacune décrivant l'un des fichiers contenu dans un répertoire de la hiérarchie. .PP En général, les répertoires sont visités à deux reprises distinctes. Un passage en ordre «\ preorder\ » (avant d'avoir parcouru leurs descendants) et un passage en ordre «\ postorder\ » (après avoir visité tous les sous\-répertoires). Les fichiers ne sont examinés qu'une seule fois. Il est possible de parcourir la hiérarchie «\ logiquement\ » (en visitant les fichiers pointés par les liens symboliques) ou «\ physiquement\ » (en visitant les liens symboliques eux\-mêmes). On peut ordonner le parcours de la hiérarchie, ignorer ou visiter plusieurs fois certaines parties. .PP Deux structures (et les types associés) sont définies dans le fichier include \fI\fP. Le premier type est \fIFTS\fP, une structure représentant l'arborescence des fichiers elle\-même. Le second est \fIFTSENT\fP, la structure représentant un fichier dans la hiérarchie. Normalement, une structure \fIFTSENT\fP est renvoyée pour chaque fichier rencontré dans la hiérarchie. Dans cette page de manuel, les termes «\ fichier\ » et «\ structure FTSENT\ » sont généralement interchangeables. .PP La structure \fIFTSENT\fP contient les champs décrivant un ficher. La structure contient au moins les champs suivants (il y a des champs supplémentaires qui doivent être considérés comme réservés à l'implémentation). .PP .in +4n .EX .\" Also: .\" ino_t fts_ino; /* inode (only for directories)*/ .\" dev_t fts_dev; /* device (only for directories)*/ .\" nlink_t fts_nlink; /* link count (only for directories)*/ .\" u_short fts_flags; /* private flags for FTSENT structure */ .\" u_short fts_instr; /* fts_set() instructions */ typedef struct _ftsent { unsigned short fts_info; /* attribut de la structure FTSENT */ char *fts_accpath; /* chemin d'accès */ char *fts_path; /* chemin de la racine */ short fts_pathlen; /* strlen(fts_path) + strlen(fts_name) */ char *fts_name; /* nom du fichier */ short fts_namelen; /* strlen(fts_name) */ short fts_level; /* profondeur (\-1 à N) */ int fts_errno; /* fichier errno */ long fts_number; /* valeur numérique locale */ void *fts_pointer; /* valeur de l'adresse locale */ struct ftsent *fts_parent; /* répertoire parent */ struct ftsent *fts_link; /* fichier de structure suivant */ struct ftsent *fts_cycle; /* structure de boucle */ struct stat *fts_statp; /* information [l]stat(2) */ } FTSENT; .EE .in .PP .\" .Bl -tag -width "fts_namelen" Les membres ont les significations suivantes\ : .TP \fIfts_info\fP .\" .Bl -tag -width FTS_DEFAULT L'un des attributs suivants, décrivant la structure \fIFTSENT\fP renvoyée et le fichier qu'elle représente. À l'exception des répertoires \fBFTS_D\fP ne présentant pas d'erreur, toutes ces entrées sont terminales, ce qui signifie qu'elles ne seront visitées qu'une seule fois et que leur éventuels descendants (des répertoires en erreur) ne seront pas visités. .RS .TP \fBFTS_D\fP Un répertoire visité en phase «\ preorder\ ». .TP \fBFTS_DC\fP Un répertoire introduisant une boucle dans l'arborescence. Le champ \fIfts_cycle\fP de la structure \fIFTSENT\fP sera également rempli. .TP \fBFTS_DEFAULT\fP Toute structure \fIFTSENT\fP représentant un type de fichier non décrit explicitement par l'une des autres valeurs de \fIfts_info\fP. .TP \fBFTS_DNR\fP Un répertoire ne pouvant être lu. C'est considéré comme une erreur, et le champ \fIfts_errno\fP sera défini pour indiquer la cause de l'erreur. .TP \fBFTS_DOT\fP Un fichier nommé «\ .\ » ou «\ ..\ » qui n'a pas été indiqué explicitement comme argument de \fBfts_open\fP() (consultez \fBFTS_SEEDOT\fP). .TP \fBFTS_DP\fP Un répertoire visité en phase «\ postorder\ ». Le contenu de la structure \fIFTSENT\fP ne sera pas différent de ce qu'il était après la phase «\ preorder\ ». C'est\-à\-dire quand le champ \fIfts_info\fP valait \fBFTS_D\fP. .TP \fBFTS_ERR\fP Il s'agit d'un retour d'erreur, le champ \fIfts_errno\fP étant rempli pour indiquer la cause de l'erreur. .TP \fBFTS_F\fP Un fichier normal. .TP \fBFTS_NS\fP Un fichier pour lequel aucune information provenant de [\fBl\fP]\fBstat\fP(2) n'est disponible. Le contenu du champ \fIfts_statp\fP est indéfini. Il s'agit d'un cas d'erreur et le champ \fIfts_errno\fP sera défini pour indiquer la cause de l'erreur. .TP \fBFTS_NSOK\fP Un fichier pour lequel aucune information provenant de [\fBl\fP]\fBstat\fP(2) n'a été demandée. Le contenu du champ \fIfts_statp\fP est indéfini. .TP \fBFTS_SL\fP Un lien symbolique. .TP \fBFTS_SLNONE\fP .\" .El Un lien symbolique pointant dans le vide. Le contenu du champ \fIfts_statp\fP contient les informations caractéristiques de fichier du lien lui\-même. .RE .TP \fIfts_accpath\fP Un chemin permettant d'accéder au fichier depuis le répertoire courant. .TP \fIfts_path\fP Le chemin d'accès au fichier à partir du point de départ du parcours. Il contient en préfixe le chemin fourni lors de l'invocation de \fBfts_open\fP(). .TP \fIfts_pathlen\fP La somme des longueurs des chaînes pointées par \fIfts_path\fP et \fIfts_name\fP. .TP \fIfts_name\fP Le nom du fichier. .TP \fIfts_namelen\fP La longueur de la chaîne pointée par \fIfts_name\fP. .TP \fIfts_level\fP La profondeur où le fichier a été trouvé dans l'arborescence, numérotée de \-1 à N. La structure \fIFTSENT\fP représentant le parent du point de départ (ou racine) est numérotée \-1. La structure \fIFTSENT\fP représentant la racine de départ elle\-même est numérotée 0. .TP \fIfts_errno\fP Dans une structure \fIFTSENT\fP renvoyée par un appel \fBfts_children\fP() ou \fBfts_read\fP(), dont le champ \fIfts_info\fP contient \fBFTS_DNR\fP, \fBFTS_ERR\fP ou \fBFTS_NS\fP, le champ \fIfts_errno\fP est le numéro d'erreur (c'est\-à\-dire, la valeur de \fIerrno\fP) indiquant la cause de l'erreur. Dans les autres cas, le contenu du champ \fIfts_errno\fP est indéfini. .TP \fIfts_number\fP Ce champ est mis à la disposition des programmes applicatifs et n'est modifié par aucune fonction de la famille fts. Il est initialisé à\ \fB0\fP. .TP \fIfts_pointer\fP Ce champ est mis à la disposition des programmes applicatifs et n'est modifié par aucune fonction de la famille fts. Il est toutefois initialisé à NULL. .TP \fIfts_parent\fP Un pointeur sur la structure \fIFTSENT\fP référençant le fichier dans la hiérarchie immédiatement au dessus du fichier en cours, c'est\-à\-dire le répertoire auquel il appartient. Une structure parente pour le point d'entrée initial est également fournie, mais seuls ses membres \fIfts_level\fP, \fIfts_number\fP et \fIfts_pointer\fP sont garantis d'être initialisés. .TP \fIfts_link\fP Au retour de la fonction \fBfts_children\fP(), le champ \fIfts_link\fP pointe sur la structure suivante dans la liste chaînée des membres du répertoire, liste terminée par un NULL. Dans les autres situations, le contenu du champ \fIfts_link\fP est indéterminé. .TP \fIfts_cycle\fP Si un répertoire introduit une boucle dans la hiérarchie (consultez \fBFTS_DC\fP), soit à cause d'un lien physique entre deux répertoires, soit à cause d'un lien symbolique pointant vers un répertoire, le champ \fIfts_cycle\fP pointera vers la structure \fIFTSENT\fP de la hiérarchie qui référence le même fichier que celui représenté par la structure \fIFTSENT\fP. Sinon, le contenu du champ \fIfts_cycle\fP est indéfini. .TP \fIfts_statp\fP .\" .El Un pointeur vers les informations fournies par [\fBl\fP]\fBstat\fP(2). .PP Un tampon unique est utilisé pour tous les chemins d'accès de tous les fichiers de la hiérarchie. Ainsi, les champs \fIfts_path\fP et \fIfts_accpath\fP sont assurés d'être terminés par un caractère NULL \fIseulement\fP pour le fichier renvoyé le plus récemment par \fBfts_read\fP(). Pour utiliser ces champs pour référencer un fichier représenté par une autre structure \fIFTSENT\fP, il faut que le tampon du chemin soit modifié avec l'information contenue dans le champ \fIfts_pathlen\fP de cette structure \fIFTSENT\fP. Tout autre modification devra être défaite avant que d'autres appels à \fBfts_read\fP() ne soient tentés. Le champ \fIfts_name\fP est toujours terminé par un caractère NULL. .SS fts_open() La fonction \fBfts_open\fP() reçoit un pointeur vers une table de chaînes de caractères représentant un ou plusieurs chemins décrivant la hiérarchie de fichiers à traverser. Cette table doit se terminer par un pointeur NULL. .PP .\" .Bl -tag -width "FTS_PHYSICAL" Il existe un certain nombre d'options, dont au moins une est obligatoire (soit \fBFTS_LOGICAL\fP, soit \fBFTS_PHYSICAL\fP). Les options sont sélectionnées par un \fIou logique\fP entre les valeurs suivantes\ : .TP \fBFTS_LOGICAL\fP Cette option indique aux fonctions fts de renvoyer des structures \fIFTSENT\fP concernant les cibles des liens symboliques plutôt que les liens eux\-mêmes. Avec cette option, les seuls liens symboliques pour lesquels une structure \fIFTSENT\fP est renvoyée sont ceux pointant des fichiers qui n'existent pas\ : le champ \fIfts_statp\fP est obtenu au moyen de \fBstat\fP(2) avec un repli vers \fBlstat\fP(2). .TP \fBFTS_PHYSICAL\fP Avec cette option, les routines fts renvoient des structures \fIFTSENT\fP pour les liens symboliques eux\-mêmes et non pas les fichiers qu'ils pointent. Si cette option est définie, des structures \fIFTSENT\fP pour tous les liens symboliques de la hiérarchie sont renvoyées à l'application\ : le champ \fIfts_statp\fP est obtenu au moyen de \fBlstat\fP(2). .TP \fBFTS_COMFOLLOW\fP Tout lien symbolique indiqué comme racine du parcours sera immédiatement suivi, comme au moyen de \fBFTS_LOGICAL\fP, indépendamment du mode primaire. .TP \fBFTS_NOCHDIR\fP Pour optimiser les performances, les fonctions fts changent de répertoire au cours de la traversée de la hiérarchie de fichiers. En contrepartie, l'application ne peut pas savoir à l'avance où elle se trouve durant la traversée. Cette option supprime cette optimisation et les fonctions fts ne changeront pas de répertoire de travail. Remarquez que les applications ne doivent pas modifier elles\-mêmes le répertoire de travail et essayer d'accéder aux fichiers sans que l'option \fBFTS_NOCHDIR\fP ne soit indiquée et que des chemins d'accès absolus soient transmis à \fBfts_open\fP(). .TP \fBFTS_NOSTAT\fP Par défaut, les structures \fIFTSENT\fP renvoyées contiennent les caractéristiques (voir le champ \fIfts_statp\fP) de chaque fichier visité. Cette option relâche cette contrainte pour optimiser les performances, en autorisant les fonctions fts à remplir le champ \fIfts_info\fP avec \fBFTS_NSOK\fP et laisser le contenu du membre \fIfts_statp\fP indéfini. .TP \fBFTS_SEEDOT\fP Par défaut, à moins d'être fourni explicitement en argument à \fBfts_open\fP(), tout fichier nommé «\ .\ » ou «\ ..\ » rencontré dans la hiérarchie est ignoré. Avec cette option, les routines fts renvoient des structures \fIFTSENT\fP pour ces fichiers. .TP \fBFTS_XDEV\fP .\" .El Cette option empêche fts de descendre dans les répertoires se trouvant sur un périphérique différent de celui dans lequel le parcours a commencé. .PP L'argument \fBcompar\fP() indique une fonction définie par l'utilisateur pour ordonner la traversée de la hiérarchie. Elle prend en argument deux pointeurs sur des pointeurs sur des structures \fIFTSENT\fP, et doit renvoyer une valeur négative, zéro ou positive pour indiquer que le fichier représenté par le premier argument doit venir avant, à n'importe quel moment ou après le fichier référencé par le second argument. Les champs \fIfts_accpath\fP, \fIfts_path\fP et \fIfts_pathlen\fP des structures \fIFTSENT\fP ne doivent \fIjamais\fP être utilisés dans cette comparaison. Si le champ \fIfts_info\fP contient \fBFTS_NS\fP ou \fBFTS_NSOK\fP, le membre \fIfts_statp\fP ne doit pas être utilisé non plus. Si l'argument \fBcompar\fP() est NULL, l'ordre de traversée des répertoires est celui de l'argument \fIpath_argv\fP pour les racines, et l'ordre interne des répertoires pour le reste. .SS fts_read() La fonction \fBfts_read\fP() renvoie un pointeur sur une structure \fIFTSENT\fP décrivant un fichier de la hiérarchie. Les répertoires lisibles et ne causant pas de boucles sont parcourus au moins deux fois, une fois en phase «\ preorder\ », et une fois en phase «\ postorder\ ». Les autres fichiers ne sont examinés qu'une seule fois. Les liens physiques entre répertoires qui ne causent pas de boucles, ou les liens symboliques vers des liens symboliques peuvent entraîner des fichiers visités plus d'une fois, ou des répertoires plus de deux fois. .PP Si tous les membres de la hiérarchie ont été examinés, \fBfts_read\fP() renvoie NULL et définit la variable externe \fIerrno\fP avec un \fB0\fP. Si une erreur sans rapport avec un fichier particulier se produit, \fBfts_read\fP() renvoie NULL et définit \fIerrno\fP pour indiquer l'erreur. Si une erreur concernant le fichier en cours se produit, un pointeur sur une structure \fIFTSENT\fP est renvoyé, et \fIerrno\fP peut ou non être défini (consultez \fIfts_info\fP). .PP Les structures \fIFTSENT\fP renvoyées par \fBfts_read\fP() peuvent être écrasées après un appel à \fBfts_close\fP() sur le même flux de hiérarchie de fichiers ou après un appel à \fBfts_read\fP() sur la même flux de hiérarchie, sauf si elles représentent un répertoire, auquel cas elles ne seront pas écrasées avant l'appel \fBfts_read\fP() renvoyant la structure \fIFTSENT\fP du répertoire en phase «\ postorder\ ». .SS fts_children() La fonction \fBfts_children\fP() renvoie un pointeur sur une structure \fIFTSENT\fP décrivant la première entrée d'une liste chaînée terminée par un NULL et représentant les fichiers se trouvant dans le répertoire indiqué par la dernière structure \fIFTSENT\fP renvoyée par un appel \fBfts_read\fP(). La liste est chaînée par le biais du membre \fIfts_link\fP de la structure \fIFTSENT\fP, et est ordonnée suivant la routine de comparaison fournie par l'utilisateur, si elle existe. Des appels répétés à \fBfts_children\fP() recréeront la liste chaînée. .PP Un cas particulier se présente si \fBfts_read\fP() n'a pas encore été appelée pour une hiérarchie. Alors, \fBfts_children\fP() renverra un pointeur sur les fichiers du répertoire logique indiqué à \fBfts_open\fP(), c'est\-à\-dire les arguments fournis à \fBfts_open\fP(). Sinon, si la structure \fIFTSENT\fP la plus récemment renvoyée par \fBfts_read\fP() n'est pas un répertoire visité en phase «\ preorder\ », ou si le répertoire ne contient aucun fichier, \fBfts_children\fP() renvoie NULL et met la variable externe \fIerrno\fP à zéro. Si une erreur se produit, \fBfts_children\fP() renvoie NULL et définit \fIerrno\fP pour indiquer l'erreur. .PP Les structures \fIFTSENT\fP renvoyées par \fBfts_children\fP() peuvent être écrasées après un appel à \fBfts_children\fP(), \fBfts_close\fP() ou \fBfts_read\fP() sur le même flux de hiérarchie de fichiers. .PP .\" .Bl -tag -width FTS_NAMEONLY L'argument \fIflags\fP est soit zéro, soit la valeur suivante\ : .TP \fBFTS_NAMEONLY\fP .\" .El Seuls les noms des fichiers sont nécessaires. Le contenu des membres des structures de la liste chaînée est indéfini sauf pour \fIfts_name\fP et \fIfts_namelen\fP. .SS fts_set() La fonction \fBfts_set\fP() permet à l'application de l'utilisateur de paramétrer le traitement à venir du fichier \fIf\fP du flux \fIftsp\fP. La fonction \fBfts_set\fP() renvoie \fB0\fP si elle réussit, et \fB\-1\fP si une erreur se produit. .PP .\" .Bl -tag -width FTS_PHYSICAL L'argument \fIinstr\fP est un \fB0\fP (signifiant «\ ne rien faire\ ») ou une des valeurs suivantes\ : .TP \fBFTS_AGAIN\fP Revisiter à nouveau le fichier. N'importe quel type de fichier peut être revisité. L'appel suivant de \fBfts_read\fP() renverra le fichier indiqué. Les membres \fIfts_stat\fP et \fIfts_info\fP de la structure seront réinitialisés à ce moment, mais aucun autre champ ne sera modifié. Cette option n'a de sens que pour le dernier fichier renvoyé par \fBfts_read\fP(). L'utilisation habituelle de cette possibilité concerne les répertoires en phase «\ postorder\ », qui sont alors réexaminés (aussi bien en phase «\ preorder\ » que «\ postorder\ »), ainsi que leurs descendants. .TP \fBFTS_FOLLOW\fP Le fichier référencé doit être un lien symbolique. Si ce fichier est le dernier renvoyé par \fBfts_read\fP(), alors l'appel suivant de \fBfts_read\fP() renverra le fichier, avec les champs \fIfts_info\fP et \fIfts_statp\fP réinitialisés pour représenter la cible du lien symbolique plutôt que le lien lui\-même. Si le fichier est des derniers renvoyés par \fBfts_children\fP(), alors les membres \fIfts_info\fP et \fIfts_statp\fP de la structure, lorsqu'elle sera renvoyée par \fBfts_read\fP(), représenteront la cible du lien symbolique plutôt que le lien lui\-même. Dans tous les cas, si la cible du lien symbolique n'existe pas, les membres de la structure ne seront pas modifiés, et le champ \fIfts_info\fP contiendra \fBFTS_SLNONE\fP. .IP Si la cible du lien est un répertoire, il y aura un retour «\ preorder\ », suivi d'un retour pour chaque descendant, suivi d'un retour «\ postorder\ ». .TP \fBFTS_SKIP\fP .\" .El Aucun descendant de ce fichier ne sera visité. Le fichier peut être un de ceux renvoyés le plus récemment par \fBfts_children\fP() ou \fBfts_read\fP(). .SS fts_close() La fonction \fBfts_close\fP() ferme le flux de hiérarchie de fichiers auquel \fIftsp\fP fait référence et restitue le répertoire de travail qui était en vigueur lors de l'appel \fBfts_open\fP() qui avait permit d'ouvrir \fIftsp\fP. La fonction \fBfts_close\fP() renvoie \fB0\fP si elle réussit, et \fB\-1\fP en cas d'erreur. .SH ERREURS La fonction \fBfts_open\fP() peut échouer et mettre dans \fIerrno\fP l'une des erreurs indiquées pour les fonctions \fBopen\fP(2) et \fBmalloc\fP(3). .PP De plus, \fBfts_open\fP() peut échouer et mettre dans \fIerrno\fP l'une des erreurs suivantes\ : .TP \fBENOENT\fP Un élément de \fIpath_argv\fP était une chaîne vide. .PP La fonction \fBfts_close\fP() peut échouer et mettre dans \fIerrno\fP l'une des erreurs indiquées pour les fonctions \fBchdir\fP(2) et \fBclose\fP(2). .PP Les fonctions \fBfts_read\fP() et \fBfts_children\fP() peuvent échouer et mettre dans \fIerrno\fP l'une des erreurs indiquées pour les fonctions \fBchdir\fP(2), \fBmalloc\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3) et [\fBl\fP]\fBstat\fP(2). .PP De plus \fBfts_children\fP(), \fBfts_open\fP() et \fBfts_set\fP() peuvent échouer et mettre dans \fIerrno\fP l'une des erreurs suivantes\ : .TP \fBEINVAL\fP Les \fIoptions\fP ou les \fIinstr\fP ne sont pas valables. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interface Attribut Valeur T{ .na .nh \fBfts_open\fP(), \fBfts_set\fP(), \fBfts_close\fP() T} Sécurité des threads MT\-Safe T{ .na .nh \fBfts_read\fP(), \fBfts_children\fP() T} Sécurité des threads MT\-Unsafe .TE .sp 1 .SH STANDARDS Aucune. .SH HISTORIQUE glibc 2. 4.4BSD. .SH BOGUES .\" Fixed by commit 8b7b7f75d91f7bac323dd6a370aeb3e9c5c4a7d5 .\" https://sourceware.org/bugzilla/show_bug.cgi?id=15838 .\" https://sourceware.org/bugzilla/show_bug.cgi?id=11460 .\" .\" The following statement is years old, and seems no closer to .\" being true -- mtk .\" The .\" .I fts .\" utility is expected to be included in a future .\" POSIX.1 .\" revision. Avant la glibc\ 2.23, aucune des interfaces de programmation décrites dans cette page de manuel n’est sûre lors de la compilation d’un programme utilisant les interfaces de programmation LFS (par exemple, lors de la compilation avec \fI\-D_FILE_OFFSET_BITS=64\fP). .SH "VOIR AUSSI" \fBfind\fP(1), \fBchdir\fP(2), \fBlstat\fP(2), \fBstat\fP(2), \fBftw\fP(3), \fBqsort\fP(3) .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 .