The following files are used to initialise user profiles and can be customised.
~/.bash_logout
User customisable script that runs on logout, typically for housekeeping, for example clearing text present in the terminal screen.
~/.bash_profile
Hidden file, can be edited by user to customise environment variables. Runs on login.
~/.bashrc
Hidden file, generates items required by each shell, such as aliases and local variables. Runs when a shell is spawned. User customisable.
/etc/bash_logout
Global, admin modifiable script that performs tasks on logout, typically cleaning up.
/etc/bashrc
Can only be modified by admin, like ~/.bashrc runs whenever a shell is spawned and affects every user ie Global
/etc/profile
Can only be modified by admin and is run by every user on login. Contains key environment variables, sets system values and displays messages. Global.
/etc/skel
Directory containing template initialisation files that are provided to users on account creation.