No bash, which
é um utilitário externo. Só encontra comandos externos: não sabe sobre aliases, builtins ou funções. O mesmo vale para whatis
e whereis
.
Esqueça which
e use type
.
$ type cd
cd is a shell builtin
Construções não possuem uma página pessoal (a menos que elas também existam como um utilitário externo, mas então você obtém a documentação do utilitário externo, que pode suportar diferentes opções). Eles estão documentados no manual bash.
Veja também Como usar which
em um alias comando? e Meu comando which
pode estar errado ( às vezes)?