CHDIR(2)

NOME
chdir, fchdir - altera o diretório de trabalho

SINOPSE
#include <unistd.h>

int chdir(const char *caminho);
int fchdir(int fd);

    Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):

fchdir():
    _XOPEN_SOURCE >= 500
        || /* Desde o glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* Glibc até e incluindo 2.19: */ _BSD_SOURCE

DESCRIÇÃO
chdir() altera o diretório atual de trabalho do processo chamador para o diretório especificado em caminho.

fchdir() é idêntico a chdir(); a única diferença é que o diretório é fornecido com um descritor de arquivo aberto.

VALOR DE RETORNO
Em caso de sucesso, zero é retornado. Em caso de erro, -1 é retornado, e errno é definido para indicar o erro.

ERROS
Dependendo do sistema de arquivos, outros erros podem ser retornados. Os erros mais gerais para chdir() são listados abaixo:

EACCES
    Permissão de pesquisa é negada em um dos componentes de caminho. (Veja também path_resolution(7).)

EFAULT
    caminho aponta para fora de seu espaço de endereços acessíveis.

EIO Ocorreu um erro de E/S.

ELOOP
    Muitos links simbólicos foram encontrados na resolução de caminho.

ENAMETOOLONG
    caminho é muito longo.

ENOENT
    O diretório especificado em caminho não existe.

ENOMEM
    A memória do kernel disponível foi insuficiente.

ENOTDIR
    Um componente do caminho não é um diretório.

Os erros gerais para fchdir() são listados abaixo:

EACCES
    Permissão de procura foi negada no diretório aberto em fd.

EBADF
    fd não é um descritor de arquivo válido.

ENOTDIR
    fd não se refere a um diretório.

DE ACORDO COM
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.

NOTAS
O diretório de trabalho atual é o ponto de partida para interpretar nomes de caminho relativos (aqueles que não começam com '/')).

Um processo filho criado via fork(2) herda o diretório de trabalho atual de seu pai. O diretório de trabalho atual permanece inalterado por execve(2).

VEJA TAMBÉM
chroot(2), getcwd(3), path_resolution(7)

COLOFÃO
Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por André Luiz Fassone <lonely_wolf@ig.com.br> e Rafael Fontenelle <rafaelff@gnome.org>

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 (https://www.gnu.org/licenses/gpl-3.0.html) ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores (debian-l10n-portuguese@lists.debian.org).