touch é especificado para alterar o acesso a arquivos e horários de modificação; alterar o tempo de alteração é um efeito colateral da alteração nos metadados do arquivo, e touch não tem nenhum controle sobre isso (veja também o futimens() e utimensat() funções usadas por touch ).
-a e -m são entendidos neste contexto: por padrão touch altera os tempos de acesso e modificação (e o sistema atualiza o tempo de alteração); com -a , altera apenas o tempo de acesso, com -m , altera apenas o tempo de modificação.
Você pode ver a diferença se você especificar uma hora diferente da hora atual: os horários de acesso e / ou modificação serão alterados para o valor especificado, mas o tempo de alteração será atualizado para a hora atual.