在命令行中重新运行命令是一项常规任务,当我们在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