Seu ~ / .profile ou ~ / .bash_profile são originados pelo processo de login. Um shell que você executa em uma janela de terminal é executado em um processo diferente, que é um descendente do processo de login. Certas configurações feitas pelo processo de login são exportadas para processos-filhos, mas aliases e definições de funções não são. Aliases e funções devem ser definidos no arquivo rc do seu shell, ~ / .bashrc neste caso. Esse arquivo é originado por todo processo bash interativo.
Para saber se você deve colocar as configurações de variáveis de ambiente e outros códigos de inicialização em ~ / .profile ou ~ / .bash_profile, man bash diz que os shells de login procuram por ~ / .bash_profile, ~ /.bash_login e ~ / .profile, nessa ordem, e leia o primeiro encontrado. Portanto, se você tiver ~ / .bash_profile e ~ / .profile, somente ~ / .bash_profile será lido e ~ / .profile será ignorado. O que você usa depende de você, mas se você planeja usar shells diferentes de bash, você pode querer colocar suas configurações em ~ / .profile e deletar ~ / .bash_profile.