chdir, fchdir − Changer le répertoire courant
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :
fchdir() :
_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L
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.
S’il réussit, cet appel système renvoie 0. S’il échoue, il renvoie −1 et remplit errno en conséquence.
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 fichier n’existe pas. |
|||
ENOMEM |
Pas assez de mémoire pour le noyau. |
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. |
SVr4, BSD 4.4, POSIX.1−2001.
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).
chroot(2), getcwd(3), path_resolution(7)
Cette page fait partie de la publication 3.65 du projet man−pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l’adresse http://www.kernel.org/doc/man−pages/.
Depuis 2010, cette traduction est maintenue à l’aide de l’outil po4a <http://po4a.alioth.debian.org/> par l’équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l’équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <debian−l10n−french AT lists DOT debian DOT org> ou par un rapport de bogue sur le paquet manpages−fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man −L C <section> <page_de_man> ».