No shell, && e ; são semelhantes, pois ambos podem ser usados para finalizar comandos. A diferença é && também é um operador condicional. Com ; o seguinte comando é sempre executado, mas com && o último comando é executado apenas se o primeiro for bem-sucedido.
false; echo "yes" # prints "yes"
true; echo "yes" # prints "yes"
false && echo "yes" # does not echo
true && echo "yes" # prints "yes"
Novas linhas são intercambiáveis com ; ao finalizar comandos.