Linux Error Messages, Explained

Something failed and the terminal gave you one cryptic line. Each page here takes one of those lines and does four things: explains what it actually means, lists the causes ordered by how often they are really the culprit, gives you the command to confirm which one you have, and fixes it.

No preamble, no history of Unix — you are here because something is broken. The fastest route is usually the "quick diagnosis" command at the top of each page.

Permission denied (publickey)

SSH rejected your login because no key you offered was accepted by the server.

bash: command: command not found

The shell searched every directory in your PATH and found no executable with that name.

No such file or directory

The path you gave does not resolve — but often the missing part is not the one you think.

Permission denied

The path resolves fine — the system simply will not let you do that with it.

No space left on device

A filesystem is full — confirm which one, and whether you ran out of bytes or inodes.

bind: Address already in use

Something is already listening on the port your program wants.

Connection refused

You reached the machine, but nothing was listening on that port — or a firewall said no.

bad interpreter: No such file or directory

Windows line endings make the shebang point at an interpreter that does not exist.

Prefer to avoid the errors in the first place? The interactive course lets you make every one of these mistakes in a sandbox where nothing breaks.