From the Advanced Bash Scripting Guide:
A Bash alias is essentially nothing more than a keyboard shortcut, an abbreviation, a means of avoiding
typing a long command sequence. If, for example, we include alias lm="ls −l | more" in the ~/.bashrc
file, then each lm typed at the command line will automatically be replaced by a ls −l | more.
this essentialy suggests to put your aliases in ~/.bashrc (if using bash of course). Since ~/.bashrc is sourced every time you open a shell, the alias will be always assigned and will be available after reboot.
This happens because aliases are local to the current shell (as like environment variables). If you define an alias directly from the command line and open a new terminal (that is a new shell session) the alias will not be available in the new terminal.