如何在Linux中重新运行最后执行的命令?

在命令行中重新运行命令是一项常规任务,当我们在Unix系统上工作时,我们所有人都要经历。在下面的文章中,我们将看到各种方法来重新运行已经执行的命令,这有助于节省时间,并且有助于轻松地推理较长的命令而无需重新键入它们。

在开始重新执行上一个命令之前,让我们看一下如何查看所有命令的列表。有一个命令调用历史记录,其中列出了系统配置的特定时间段内所有已执行的命令。以下是如何执行history命令并查看其结果的示例。

$ histrory

运行上面的代码给我们以下结果-

$ history
1 perl -v
2 sudo -apt update
3 cal
..
..
231 curl -s https://ipvigilante.com/122.175.62.177
232 curl -s https://ipvigilante.com/104.80.62.56
233 ls -l

上下箭头键

在按下向上和向下箭头键的终端中,我们可以重新访问已执行的命令,反复按它们可以帮助我们在每个命令中循环执行所有已执行的命令。

使用!!

该命令仅执行上一条命令。

$ !!

运行上面的代码将为我们提供以下结果:

ls -l
total 60
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 19:35 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 01:58 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 19:40 Downloads
……….
…………

!用特定命令

如果要从中执行特定命令,但只记得该命令的一部分,则可以使用!使用命令的一部分,我将执行完整的命令。

$ !nsloo

运行上面的代码给我们以下结果-

nslookup www.oracle.com
Server:127.0.1.1
Address:127.0.1.1#53
Non-authoritative answer:
www.oracle.comcanonical name = ds-www.oracle.com.edgekey.net.
ds-www.oracle.com.edgekey.netcanonical name = e870.dscx.akamaiedge.net.
Name:e870.dscx.akamaiedge.net
Address: 104.80.62.56