A resposta de Bernhard está correta: em sistemas multiusuários, a capacidade de executar programas pesados em algumas horas ímpias da noite é especialmente conveniente, tanto para a pessoa que está enviando o trabalho quanto para seus colegas de trabalho. Faz parte de "brincar bem".
Eu fiz a maior parte do meu Ph.D. computações dessa maneira, combinando o script com o comando nice que rebaixava a prioridade do meu trabalho sempre que outras pessoas mantinham a máquina ocupada, enquanto deixava intacta sua capacidade de armazenar todos os recursos do sistema à noite.
Eu usei o mesmo comando para verificar se meu programa estava sendo executado e reiniciá-lo, se necessário.
Além disso, você deve ter em mente que at foi escrito bem antes de tela, tmux , e assim por diante, de modo que era uma maneira simples de ter um shell separado , ou seja, um que não morreria depois de ter terminado o sistema.
Por fim, você também deve notar que é diferente do cron, que também existe há muito tempo. A diferença está no fato de que at é ocasional, enquanto o cron, sendo tão repetitivo, é mais adequado para tarefas do sistema que realmente precisam ser executadas para sempre em intervalos fixos: na verdade, at dá a você o seu próprio environment, com suas próprias configurações (e escolhas) da variável de ambiente, enquanto o cron usa um conjunto mínimo de variáveis de ambiente (apenas verifique a diferença em PATH , como um exemplo).