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

Ala*_*Ali 5 command-line bash paths

这可能是微不足道的,但在这里。

在终端中,我倾向于发现自己移动/重命名/复制不在我当前工作目录中的文件,而不是首先cd-ing 到这些文件的目录。例如,我发现自己在做:

mv long/path/to/a/folder long/path/to/a/folder.old
Run Code Online (Sandbox Code Playgroud)

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

我的问题是:有没有一种方法/快捷方式可以使<target path>相对于<source path>?例如,是否存在这样的事情:

mv long/path/to/a/folder ``/folder.old
Run Code Online (Sandbox Code Playgroud)

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

我知道我当然可以,cd long/path/to/a/然后mv folder folder.old,但这涉及一个额外的命令,我将在另一个工作目录中结束。

Eri*_*lho 9

这应该可以解决问题:

mv long/path/to/a/folder{,.old}
Run Code Online (Sandbox Code Playgroud)

参考:在 bash联机帮助页中搜索Brace Expansion