如何导航到文件系统对象刚刚被移动到的目录?

如何导航到文件系统对象刚刚被移动到的目录?

我经常发现在使用时mv somefile somepath我经常需要转到文件刚刚被移动到的位置。

基本上 mv somefile somepath && cd somepath

有没有一种方法可以不使用多个命令来实现这一点?

答案1

如何定义一个自定义bash函数来完成这项工作:

move () { mv -- "$1" "$2"; cd -- "$_"; }

将此move函数放在文件末尾~/.bashrc

  • 运行函数如下move somefile somepath

  • $1是函数的第一个参数 ( somefile)

  • $2是第二个参数 ( somepath)

  • $_扩展到前一个命令的最后一个参数($2在本例中)

例子 :

/foo$ move () { mv -- "$1" "$2"; cd -- "$_"; }

/foo$ ls -1
bar
spam1
spam2

/foo$ move spam* bar/

/foo/bar$ 

如您所见,所需的文件已被移动并且目录也相应改变。

答案2

除了像您那样组合命令之外,唯一的其他方法是先 cd 到您想要进入的目录,然后:

~/Documents$ mv ~/Desktop/somefile ~/Documents

相关内容