切换源和目标(或撤消 mv、cp 操作)

切换源和目标(或撤消 mv、cp 操作)

mvorcp命令都期望源和目标作为参数。

如果您想撤消所做的更改,或者只是更改之前提供的源和目标,最快的方法是什么?

我想过创建一个接受command src dest和 切换src和 的函数dest,但我想知道是否有更好的方法来做到这一点。

答案1

cp不是使用and 的方式,而是使用withmv的功能和通常的(类似)键绑定:GNU bashreadlineemacs

就像在 中一样emacs,您可以使用 Mt (meta-、alt-)调换单词,因此如果您使用的是 bash,撤消操作mv file_a file_b可能就像按向上箭头并点击 Mt 一样简单,这会将上面的内容更改为mv file_b file_a

(现在这甚至不是一个正确的解决方案,我不知道当参数有mv空格或其他不常见的特殊字符时这是否有效。而且,就像 +Michael Mrozek 所说,不可能以cp这种方式撤消对于真正的撤消,您还必须定义。确切地“撤消”是什么意思(例如,如果cp覆盖现有文件怎么办?除非您包装保留备份副本的内容,否则无法撤消它cp!))

相关内容