![根据先前的操作在unix中更改目录(cd)](https://linux22.com/image/1258503/%E6%A0%B9%E6%8D%AE%E5%85%88%E5%89%8D%E7%9A%84%E6%93%8D%E4%BD%9C%E5%9C%A8unix%E4%B8%AD%E6%9B%B4%E6%94%B9%E7%9B%AE%E5%BD%95%EF%BC%88cd%EF%BC%89.png)
不久前,我看到一篇博客文章,介绍了一种节省 unix 时间的技巧,但我怎么也想不起来,而且手册页中也没有列出。
基本上,这是一种进入刚刚复制或移动某些内容的目录的方法。例如:
$pwd
/home/stedy
$mv temp /projects/trunk
$cd something
$pwd
/projects/trunk
有人见过这种情况吗? cd 命令之后我忘记了什么?
答案1
一种选择是使用历史命令:
$pwd
/home/stedy
$mv temp /projects/trunk
$cd !:2
$pwd
/projects/trunk
!:2
接受上一个命令的第二个参数。您可以使用修饰符来极大地改变乐趣,您最好的朋友是man bash
或info bash
并寻找历史扩展(和修饰符)。
答案2
在 Bash、ksh 和 zsh 中,您可以按Alt-.来获取上一个命令的最后一个参数。该按键实际上被指定为Meta- .,这通常意味着按下然后Esc,.但该组合键通常可用。请注意,下划线可以代替点。有关更多信息,Alt请参阅的 Readline 部分。该函数称为。man bash
readline
yank-last-arg
答案3
在大多数 shell 中,上一个命令中给出的最后一个参数是$_
mkdir /some/dir
cd $_
# now in /some/dir