cd
é sempre um comando interno fornecido pelo próprio shell. Não será encontrado como um utilitário externo. Isso não é específico para o Linux.
Na seção "USO DO APLICATIVO" referente a cd
no padrão POSIX :
Since
cd
affects the current shell execution environment, it is always provided as a shell regular built-in. If it is called in a subshell or separate utility execution environment, such as one of the following:
(cd /tmp)
nohup cd
find . -exec cd {} \;
it does not affect the working directory of the caller's environment.
Uma maneira portátil de encontrar o caminho de um comando é usar command -v
:
bash-4.4$ command -v ls
/bin/ls
bash-4.4$ command -v cd
cd
type
será um pouco mais detalhado:
bash-4.4$ type ls
ls is /bin/ls
bash-4.4$ type cd
cd is a shell builtin
Veja também " Por que não usar" which "? usar então? "