NOM
chdir, fchdir - Changer le répertoire courant
SYNOPSIS
#include <unistd.h>
int
chdir(const char *path);
int fchdir(int fd);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
fchdir() :
_XOPEN_SOURCE >= 500
|| /* Since glibc 2.12: */
_POSIX_C_SOURCE >= 200809L
|| /* Glibc jusqu’à 2.19 comprise : */
_BSD_SOURCE
DESCRIPTION
chdir() remplace le répertoire de travail courant du processus appelant par celui indiqué dans le chemin path.
fchdir() est identique à chdir(), sauf que le répertoire cible est fourni sous forme de descripteur de fichier.
VALEUR RENVOYÉE
En cas de succès, zéro est renvoyé. En cas d’erreur, -1 est renvoyé et errno reçoit une valeur adéquate.
ERREURS
Suivant le type de système de fichiers, plusieurs erreurs peuvent être renvoyées, les plus courantes pour chdir() sont les suivantes :
EACCES |
L’accès n’est pas autorisé sur un élément du chemin path. (Consultez aussi path_resolution(7).) | ||
EFAULT |
path pointe en dehors de l’espace d’adressage accessible. | ||
EIO |
Une erreur d’entrée-sortie s’est produite. | ||
ELOOP |
path contient une référence circulaire (à travers un lien symbolique) |
ENAMETOOLONG
path est trop long.
ENOENT |
Le répertoire spécifié dans path n’existe pas. | ||
ENOMEM |
La mémoire disponible du noyau n’était pas suffisante. |
ENOTDIR
Un élément du chemin d’accès path n’est pas un répertoire.
Les erreurs courantes pour fchdir() sont :
EACCES |
Le répertoire ouvert sur fd n’autorise pas le parcours. | ||
EBADF |
fd n’est pas un descripteur de fichier valable. |
ENOTDIR
fd ne se réfère pas à un répertoire.
CONFORMITÉ
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.
NOTES
Le répertoire de travail est le point de départ pour l’interprétation des chemins relatifs (qui ne commencent pas par « / »).
Un processus fils créé avec fork(2) hérite du répertoire de travail courant de son père. Le répertoire de travail courant n’est pas modifié par un execve(2).
VOIR AUSSI
chroot(2), getcwd(3), path_resolution(7)
COLOPHON
Cette page fait partie de la publication 5.07 du projet man-pages 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/.
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org>, David Prévot <david [AT] tilapin.org> et Jean-Philippe MENGUAL <jpmengual [AT] debian.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à <debian-l10n-french [AT] lists.org>.