Do ponto de vista do kernel unix, alterar seu diretório de trabalho requer a chamada da chamada de sistema chdir()
.
Esta chamada de sistema executa verificações de permissões no kernel para ver se o processo tem permissão de execução para esse caminho. Isto é apenas por definição / especificações do unix.
Se não tiver permissão, a chamada do sistema retornará um erro. Em caso afirmativo, o diretório de trabalho atual é alterado para o processo.
Esse estado é, na verdade, representado como um ponteiro para o inode do diretório, não uma cadeia simples. É por isso que você pode renomear um diretório que um processo esteja ocupando.
Nota: você pode realmente executar sem ler em um diretório. Ler permite ler a listagem do diretório. Com a execução somente você poderia cd
para um diretório e abrir um arquivo se você já sabia seu nome.