Are there any softwares or commands that allows me to bring up a list of external commands

Unlike the rest of these answers, mine is pretty easy.

I keep a handy text document that has snippets of code, commands for installed applications - or at least how to start them, and things of that nature.

Then, beyond all that, I use the alias function for many things. I use aliases to make the commands something that I will be more likely to remember, or at least guess.

For example:

alias update="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt clean -y"

So, when I want to update, I just type 'update' into the terminal and it does all of those processes for me without any additional oversight.

Next, and probably the most important, is that I use these aliases across multiple installs and even with entirely different OSes. If I'm using zypper, then I have the same command but a different backend by way of alias. I don't have to remember all the various commands because I remember the aliases.

I also keep my handy text document, helpfully called linuxterminalnotes.txt and share it with the other computers I own. It doesn't require a high-tech solution, it requires a network connection or a USB thumbdrive.

The only effort required is to update it. If I install something new that requires a cryptic terminal entry, I save it to the file. I keep this file, and my various alias files, backed up across multiple devices and in multiple locations. The only tech I need is a simple text editor.