&& é uma lógica 'e'. O primeiro argumento é avaliado e o segundo é avaliado apenas se o primeiro retornar true. A razão é que "false AND something" é sempre falso, portanto, não há necessidade de avaliar o segundo argumento neste caso.
Portanto, usando && , certifique-se de que o segundo comando não seja executado se o primeiro reportar um erro ( true é representado pelo código de saída 0 , o que indica que não houve erro). Em contraste, ; executa os dois comandos, independentemente do resultado do primeiro.
Conclusão: Comandos de encadeamento com && são um bom hábito. Ao contrário de ; , ele não executará comandos subsequentes se algo der errado.