Você pode usar o recurso de depuração do shell para ver exatamente o que está acontecendo quando o bash chama um shell interativo. A seguir, mostramos todos os aliases atribuídos quando um shell interativo é gerado a partir de um shell de logon:
bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
-x -> ativar a depuração
-l -> shell de login
-i -> shell interativo
-c -> comando
A execução da saída do comando é necessária para que o shell retorne. o-i é necessária neste caso porque o bash não iria criar um ambiente interativo para executar um comando contrário.
Aqui está um exemplo do meu sistema:
$ bash -x -l -i -c 'exit' 2>&1 | grep ' alias '
++ alias 'ls=ls --color=auto'
$ alias -p
alias ls='ls --color=auto'
Para ver qual arquivo foi originado pela última vez quando o alias foi atribuído para determinar o arquivo em que ocorreu, você pode estender o grep:
bash -x -l -i -c 'exit' 2>&1 | grep -E ' (alias|[.]|source) '
Isso pode retornar falsos positivos, mas deve ser bom se você estiver inspecionando manualmente os dados retornados. O número de símbolos '+' na frente do comando executado indica a profundidade.
+ . /home/jordan/.bashrc
++ alias 'ls=ls --color=auto'
++ . /home/jordan/.foo
+++ alias t=test
++ alias t=test2
Nesta saída de amostra, mostra que .bashrc define um alias para ls, .foo aliases te, em seguida, .bashrc substitui o alias anterior de t.