profile
En el profile ponemos las opciones del perfil del usuario como puedes ser, variables de entorno, alias, funciones, etc. Podemos configurar estos perfiles de varias formas y en varios lugares dependiendo de como y a quien queramos que afecte:
/etc/profile
Es el perfil general y por defecto del sistema para todos los usuarios, es el que se carga cuando arranca.
/etc/profile.d/fichero.sh
Es un fichero independiente del general para dividir la configuración en ficheros, también es general para todos los usuarios y se carga cuando arranca. Es mejor usar fichero independiente ya que modificar el general podría machacar nuestra configuración alguna actualización.
~/.profile
Es el perfil de usuario y va en su home, es el que se carga cuando se hace login en el usuario.
~/.bash_profile
Es el perfil de usuario y va en su home, es el que se carga cuando se hace login en el usuario cuando el login es BASH.