CHDIR(2) Manual do Programador do Linux CHDIR(2)

chdir, fchdir - altera o diretório de trabalho

#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 glibc 2.12: */ _POSIX_C_SOURCE >= 200809L || /* Glibc até e incluindo 2.19: */ _BSD_SOURCE

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.

Em caso de sucesso, zero é retornado. Caso contrário, -1 é retornado, e errno é selecionado adequadamente.

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.

POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.

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).

chroot(2), getcwd(3), path_resolution(7)

Esta página faz parte da versão 5.10 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/.

A tradução para português brasileiro desta página man foi criada por André L. Fassone Canova <lonelywolf@blv.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 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.

2 agosto 2019 Linux