Melhor resposta
Há uma diferença, mesmo se ambas as tarefas forem realizadas pelo mesmo executável.
O comando shutdown é o comando canônico para um administrador de sistema desligar uma máquina. Isso normalmente é chamado com um argumento indicando a hora em que o host será encerrado. Os usuários receberão avisos periódicos para terminar seu trabalho e salvar seus arquivos.
Com o argumento agora, todos os usuários pobres veem o sistema está caindo AGORA …. O desligamento, então, faz a mesma coisa que telinit 0. que sinaliza o programa init para iniciar sua seqüência de encerramento. Isso termina os processos do usuário, interrompe os daemons e processos iniciados no inittab, sincroniza e desmonta todos os sistemas de arquivos.
Para Linux, a última coisa que o init fará é exec / sbin / poweroff, que comanda o poder principal suprir para desligar (em hardware que suporte isso).
Compreendendo os comandos de desligamento, desligamento, parada e reinicialização no Linux
Resposta
Não há nenhuma diferença nas distribuições Linux modernas porque interromper, desligar, reinicializar , telinit e desligamento são todos links simbólicos para /bin/systemctl
.
Eles estão lá apenas para compatibilidade com aplicativos legados que não podem tirar proveito do systemd (o init padrão usado por distros populares).
Fonte: Qual é a diferença entre esses comandos para desativar um servidor Linux?