BasH: Command Not Found

It is not part of the path

echo $PATH

to run a program in your working directory run:

./prog_name

Explanation:

Since you're running an executable in the current working directory, you should prefix it with ./. So for your program run it as ./a.out

Explanation
The terminal searches for executables in $PATH. This is a Unix environment variable that lists directories containing system binaries (such as ls, echo, or gcc). If you call an executable that's not in a $PATH directory (such as a.out), you need to indicate its absolute path in the file system.

In the terminal . is a synonym for the current working directory, thus ./a.out You could equally well call /home/yihang/Documents/a.out

Taken from Askubuntu