Não é uma maneira de usar cp e mv , mas usando um recurso de GNU bash com readline com as combinações de teclas usuais ( emacs -like):
Assim como em emacs , você pode transpor palavras com Mt (meta-, alt-), então se você estiver usando o bash, desfazer mv file_a file_b poderia ser tão simples quanto pressionar a seta para cima e atingir o Mt, que muda o acima para mv file_b file_a .
(Agora, isso não é uma solução adequada, não sei se isso funcionará quando os argumentos para mv tiverem espaços ou outros caracteres especiais menos usuais. E, assim como + Michael Mrozek disse, é Não é possível desfazer cp desta forma Para um desfazer real, você também precisa definir exatamente o que quer dizer com "desfazer" (por exemplo, e se cp sobrescrever um arquivo existente? não será possível desfazê-lo, a menos que você envolva cp em algo que mantém cópias de backup!))