复制或移动时相对于源的路径

复制或移动时相对于源的路径

这可能微不足道,但我们还是这么做吧。

在终端中,我往往会移动/重命名/复制当前工作目录中不存在的文件,而不是cd先进入这些文件的目录。例如,我发现自己在做:

mv long/path/to/a/folder long/path/to/a/folder.old

有时,这可能是一个"long/path with spaces/to/a/folder"

我的问题是: 是否有方法/捷径使<target path>相对于<source path>?例如,是否存在类似这样的情况:

mv long/path/to/a/folder ``/folder.old

其中``表示“我尝试移动的文件/文件夹的相同路径或相同的父路径”,因此在我的示例中``代表long/path/to/a/

我知道我当然可以cd long/path/to/a/mv folder folder.old但是这需要一个额外的命令,最终我会进入另一个工作目录。

答案1

这应该可以解决问题:

mv long/path/to/a/folder{,.old}

参考:搜索括号扩展在 bash 中手册页

相关内容