EXIT STATUS
0 to 255
The GNU Bash manual says exit statuses fall between 0 and 255. Zero means success, so there is one way to succeed and many ways to fail.
Decode a statusHOW LINUX REPORTS WHAT HAPPENED
Every command you run in a Linux shell answers back with a number.

$? the last answer
0–255 Possible exit statuses
It is called the exit status. Zero means success; anything else means some kind of failure. Alongside it, programs print error messages built from a short list of standard error names, sent down their own separate stream.
THE SHORT ANSWER
The exit status says whether it worked.
The error message says why it did not.
EXIT STATUS
The GNU Bash manual says exit statuses fall between 0 and 255. Zero means success, so there is one way to succeed and many ways to fail.
Decode a statusERROR NAMES
System calls set errno to a positive number with a standard symbolic name, such as ENOENT for No such file or directory.
Read an errorTWO STREAMS
Programs start with three streams: standard input, output and error, on file descriptors 0, 1 and 2. Errors go to the third.
See the numbersDECODE A STATUS
Pick an exit status to see what Bash means by it. The bar shows how far things went wrong.
Based on the GNU Bash Reference Manual and the Linux man-pages project. Signal numbers shown are those for x86 and ARM.
FOUR HABITS
These follow from how the shell and the C library report problems.

It holds the status of the last command only, so the next command replaces it.
127 means the shell could not find the command; 126 means it found it but could not run it.
"No such file or directory" is ENOENT; "Permission denied" is EACCES. The names are standard; the numbers vary between systems.
Standard error is separate from standard output, so redirecting output to a file can still leave error messages on screen.
TWO NUMBERS WORTH KNOWING
One figure on the range of answers,
one on how signals are reported.
0–255
Possible exit statuses
Exit statuses fall between 0 and 255, though the shell uses values above 125 specially. Builtins and compound commands are limited to the same range.
RANGE · GNU BASH MANUAL
128 + N
Added to a fatal signal's number
A command ended by signal N reports 128 + N. On x86 and ARM, SIGINT (interrupt from keyboard) is 2, so it shows as 130, and SIGTERM is 15, shown as 143.
SIGNALS · GNU BASH MANUAL
The exit status of the last command is kept in the special parameter $?, so you can check it straight after a command finishes.
WHY ZERO IS SUCCESS
The Bash manual calls the scheme seemingly counter-intuitive, but explains it: with zero as success there is one well-defined way to say a command worked, and a whole range of non-zero values for the different ways it can fail.
Error names work the same way below the shell. The man-pages project notes that errno is only meaningful when a call has signalled an error, that it is never set to zero by a system call, and that the numbers behind names like ENOSPC differ across UNIX systems.

Questions
The number a command returns when it finishes. The GNU Bash manual says it falls between 0 and 255, and that zero means success while any non-zero value means failure.
The command was not found. If the command is found but is not executable, the status is 126 instead.
Bash reports a command ended by fatal signal N as 128 + N. On x86 and ARM, signal 2 (interrupt from keyboard) gives 130 and signal 9 (SIGKILL) gives 137.
The standard error name for No such file or directory. System calls set errno to such a value when something goes wrong, and programs turn it into a readable message.
Programs start with separate standard output and standard error streams on file descriptors 1 and 2. Redirecting one does not redirect the other.
Updated
ABOUT THIS NAME
linuxspeaks.com is part of the DoodleSale portfolio. It isn't in an auction right now, but you can ask about leasing it.