There are a lot of ways to 'install' a program on a machine so, no, there is no one command to show them all. Also, any file with executable permissions could be considered a program.
You can see all the programss managed by the RedHat Package Manager with the following command (as root):
All Unix/Windows systems use the PATH environment variable to find executables fired from the command line.
will show you the list of directories that your installation of Linux will use to find executables. Looking in those directories will show you the executables that are available to you from the command line.
If you're running a desktop manager like Gnome or KDE, they will have their own mechanisms for finding programs.