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,但这涉及一个额外的命令,我将在另一个工作目录中结束。
这应该可以解决问题:
mv long/path/to/a/folder{,.old}
Run Code Online (Sandbox Code Playgroud)
参考:在 bash联机帮助页中搜索Brace Expansion。