at 18:00 shutdown now
cria uma tarefa "at", que é executada na hora especificada pelo daemon at
ou talvez pelo daemon cron
, dependendo do sistema.
shutdown 18:00
inicia um processo no seu shell que aguarda até a hora especificada e, em seguida, executa o desligamento. Este comando pode ser terminado se, e. sua sessão de shell é terminada.
O resultado líquido na maioria dos casos será o mesmo: o sistema é encerrado às 18:00.
Uma diferença é que, se você usar at
, o trabalho será armazenado e se o sistema for desligado por algum outro meio antes das 18:00, após a inicialização novamente, o trabalho ainda estará aguardando para ser executado; se a hora já tiver passado, o desligamento será executado imediatamente, o que pode ser bastante inesperado.
Outra diferença é que shutdown 18:00
criará um arquivo /run/nologin
5 minutos antes do horário agendado para evitar que as pessoas façam login após esse momento. Também mensagens de broadcast serão enviadas para avisar os usuários logados que o sistema está prestes a ser desligado.
Você precisa considerar essas diferenças para decidir qual usar.