将目录更改为移动操作的目标

Mee*_*ies 12 command-line mv

有时,我编辑了一些文件并想将其移动到不同的文件夹。(通常:到 Dropbox 文件夹,我不想在那里工作以避免向文件夹的其他所有者提供持续更新。)例如,我这样做

mv file.pdf ../../../Dropbox/sharedfolder/subdirectory/file.pdf
Run Code Online (Sandbox Code Playgroud)

之后,我经常发现自己想要将目录更改为我之前移动操作的目标目录。我发现自己按下了向上箭头,删除了最后一个file.pdf,按住左键,删除mv file.pdf并替换为cd.

有没有更快、更智能的方法来做到这一点?是否有“移动文件,然后将目录更改为”命令,或上次使用的目录的快捷方式,或类似的东西?

mur*_*uru 17

如果您使用的是 bash,那么它的历史交互就是一个快捷方式。上一个命令的最后一个参数的单词指示符

!!:$
指定前面命令的最后一个参数。这可以缩短为!$.

结合修饰符删除最后一个路径名组件:

在可选的单词指示符之后,您可以添加一个或多个有效修饰符的序列,每个修饰符前面都有一个“:”。

h
删除尾随路径名组件,只留下头部。

所以:

$ echo /ab/c/d
/ab/c/d
$ echo !$:h
echo /ab/c
/ab/c
Run Code Online (Sandbox Code Playgroud)

同样的快捷方式也可以与 zsh 一起使用。