Was ist der Unterschied zwischen dem doppelten Et-Zeichen (&&) und dem Semikolon (;) in Linux Bash?

Was ist der Unterschied zwischen Et-Zeichen und Semikolon in Linux Bash?

Beispielsweise

$ command1 && command2

vs

$ command1; command2