Aliases are specific to the sessions they were defined in. You need to define them in every session. Fortunately, there is a mechanic in place which does exactly that: It does the same stuff every time a new terminal session begins.
~/.bashrc is executed every time you open a new terminal session as you (your user account). Note that its name starts with a period, so it's a hidden file. Make sure to display hidden files in your file browser (probably via Ctrl + H).
~/.bashrc is commonly used to define things like aliases or bash functions.
This does, however, not mean that you should define it there. On Debian and its derivatives like Ubuntu (and its derivatives like Kubuntu, Lubuntu, Mythbuntu, Ubuntu Budgie, Ubuntu GNOME, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Xubuntu, etc.), Deepin, Whonix, etc., user-defined bash aliases usually are stored in
~/.bash_aliasas which on most of those systems doesn't exist by default, so if you're on one of those, go ahead and create it. It automatically is invoked if it exists.
If your system doesn't invoke that file automatically, you can still receive the luxury of being able to define your bash aliases (There can be a lot of those! Like a lot a lot! I have about 60 on my main account of my main machine and wouldn't want them to just be somewhere in my
~/.bashrc.) in a dedicated place. Just add these lines to your
if [ -f ~/.bash_aliases ]; then
Note that this file is invoked when you start a terminal session. Changes to that file aren't retroactively applied to open terminal sessions, meaning that you can't use newly defined bash aliases in terminals you opened prior to defining/modifying the aliases in that file.