De acuerdo a man bash:
Cuando se invoca bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción --login, primero lee y ejecuta comandos del archivo / etc / profile, si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile, ~ / .bash_login y ~ / .profile, en ese orden, y lee y ejecuta comandos del primero que existe y es legible.
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
También hay /etc/bashrc( /etc/bash.bashrcen Linux basado en Debian) que contiene System wide functions and aliases. De manera predeterminada, esto está configurado, incluso para shells no interactivos y sin inicio de sesión.
EDITAR:
El tildeen las rutas indica el home directorydel usuario actualmente conectado. Bash solo puede usar uno de ~/.bash_profile, ~/.bash_login, or ~/.profile(por usuario actualmente conectado), en ese orden, para leer y ejecutar comandos. (Los sistemas operativos basados en Debian generalmente no tienen). ~/.bash_profile or ~/.bash_login. Usan el archivo ~/.profile. Este archivo explica que será leído y usado a menos que ~/.bash_profile or ~/.bash_loginse cree.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
existe