O alias permite que o comando which informe sobre aliases além de binários e funções de shell. Por exemplo, eu tenho um alias para o meu comando ls. Se eu executar which ls , obtenho o seguinte:
$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
Se eu remover o alias de which executando unalias which , a execução de which ls não mostrará mais o alias:
$ unalias which
$ which ls
/usr/bin/ls
A diferença é por causa da opção --read-alias . A man page para which descreve isso dessa maneira.
--read-alias, -i
Read aliases from stdin, reporting matching ones on stdout. This is
useful in combination with using an alias for which itself. For
example
alias which=´alias | which -i´.