Alternando origem e destino (ou desfazendo a operação mv, cp)

2
Os comandos

mv ou cp esperam a origem e o destino como argumentos.

Caso você queira desfazer a alteração feita ou apenas alterar a origem e o destino fornecidos anteriormente, qual é a maneira mais rápida de fazer isso?

Eu pensei em criar uma função que leva command src dest e a comutação de src e dest , mas eu queria saber se existe uma maneira melhor de fazer isso.

    
por Forethinker 24.05.2012 / 22:12

1 resposta

3

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!))

    
por 24.05.2012 / 23:29