2016-07-22 55 views
0

在bash,运行你最近使用的命令,您可以按向上箭头键在键盘上,按Enter或键入!!并按Enter。但是,有没有一种命令可以用来运行在最近一次之前执行的命令?例如:运行在最近一次之前执行的命令的命令?

$ pwd 
/home/john 
$ ls 
bin  Documents Music Pictures Templates 
Desktop Downloads output Public Videos 

分型!!并按Enter将再次运行ls命令。但是,有没有类似!!的命令,可以让你以相同的方式运行pwd命令?如果有的话,请详细说明它的工作原理。

+0

对于历史扩张来说,有一大堆* *比'!!'更多;检查手册页的全部细节。 – chepner

回答

3

您可以使用!n,其中n是你的历史记录行数。要获得倒数第二个命令,您可以使用!-2

0

你可以使用!-2就像这里提到的一样。随着向上箭头,你可以通过ctrl-p循环回历史记录,并按Ctrl-n向前。您也可以使用ctrl-r并反向搜索您已输入的命令。

+0

请记住,导航历史记录的确切键绑定可能因人而异(尽管如果他们这样做,那个人可能已经知道他们在做什么),但是历史扩展由shell修复。 – chepner

+0

是的,这是真的 – nikkypx

0

你还记得上次执行命令的开始字符, 您可以执行它通过指定用命令的开始字符!

从你的问题,再次执行LS,使用镜!, 和P!!PW执行PWD command.but只执行最后执行的一个。