like in remote SSH reads ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order.
like in Terminal in GUI reads /etc/bash.bashrc and ~/.bashrc
contains general things like the environment variables
contains the command prmpt coloring etc...
makes sure that the above are also loaded for the login shells.
#
# .bash_profile
#
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
if [ -f ~/.profile ]; then
source ~/.profile
fi