在Linux中重复上一条命令的5种方法 – Digitalixy.com

您所在的位置:网站首页 linux多次执行命令 在Linux中重复上一条命令的5种方法 – Digitalixy.com

在Linux中重复上一条命令的5种方法 – Digitalixy.com

2023-06-14 00:39| 来源: 网络整理| 查看: 265

你好!今天,我将教您如何在Linux中重复上一个命令。您不必在Shell中重新输入以前执行的命令。当然,我们使用 向上箭头 键选择最后执行的命令,然后按ENTER执行它们。但是,还有其他几种方法可以做到这一点。在类似Unix的系统中,有很多方法可以重复最后的命令,但这是我现在所知道的唯一方法。所有这些命令都在带有BASH shell的Arch Linux和Ubuntu 18.04 LTS桌面上进行了测试。

请注意: 当您尝试以下方法时,先前执行的命令将立即运行。只要确保您的上一条命令没有任何危害,例如格式化分区或删除文件,文件夹或任何其他重要数据。

如何在Linux中重复上一条命令

让我们先运行一些命令。

$ ls -l$ pwd$ date$ uname -r

如前所述,我们只需按向上箭头并按ENTER键就可以执行最后一条命令。这是许多用户执行先前命令的最常用方法。无论您使用的是Linux发行版如何,此方法都将在所有SHELL上运行。

但是,就像我已经说过的那样,还有其他一些方法可以做到这一点。

现在,让我通过一些实际示例向您展示如何执行最后一条命令。

方法1 –使用感叹号:

要执行任何最后执行的命令,只需键入双感叹号,然后按Enter:

$ !!

这将执行最后一条命令。样本输出为:

uname -r 5.3.0-40-generic

在“ !!”前面添加“ sudo”以root用户身份执行最后一条命令,如下所示。

$ sudo !!

此命令还将执行上一个命令:

$ su -c "!!"

样本输出:

su -c "uname -r" Password: 5.3.0-40-generic

不错,不是吗?您无需完全输入最后一个命令。当您已经执行了很长的命令并且不想完全重新键入同一命令时,这可能会很有用。

方法2 –重复第N个命令:

您可能已经运行了这么多命令,并且想要重复一个特定的命令。你会怎么做?简单!您可以通过键入上一个命令的特定单词来执行此操作。

要重复以特定单词/字母开头的先前命令,例如un,只需键入:

$ !un

上面的命令将执行以字母开头的最后一个命令 “联合国”。

上面命令的示例输出为:

!un uname -r 5.3.0-40-generic

如上例所示,您无需键入整个命令(即uname -r)。相反,只需键入命令的几个字母,任何包含单词的先前命令都将运行。

另外,如果您知道完整的命令名称,则按如下所示键入:

$ !uname

它将执行最后一条命令。

如果您不想重复上一个命令,而只显示它怎么办。有时,您不需要运行命令,而只是从历史记录中检索它。如果是这样,请找到要运行的命令的前缀号:

$ history | grep -i "source"

样本输出:

1664 source googler_at 1678 source googler_at 1685 source ~/.bashrc 2037 history | grep -i "source"

假设您要检索 1685th 命令,但不想立即运行它,请在命令旁边添加:p,如下所示。

$ !1685:p

这将显示历史记录中的第1685条命令,但不会执行。

方法3 –使用反向搜索:

另一种方法是通过使用以下命令搜索命令行历史记录 CTRL + R。按 CTRL + R 键以搜索命令行历史记录。一世 个人更喜欢 这种方法。它以交互方式搜索历史记录,我认为这比从BASH历史记录中盲目执行命令更安全。

看下面的例子。在以下示例中,我搜索了 “ ost”,显示了最后一条命令 “ sudo netctl重新启动ostechnixjio” 在包含单词的历史中 “ ost”。然后,我按Enter键立即执行命令,或按右箭头键完成命令并按ENTER键执行它。

(reverse-i-search)`ost': sudo netctl restart ostechnixjio

为了以防万一,您想要在执行前编辑/修改最后一个命令,只需按 左箭头键,然后编辑最后一个命令,然后按Enter以执行它。某些命令可能以相同的字母开头。在这种情况下,请继续按CTRL + R键以返回要运行的命令。

方法4 –使用带命令前缀号的连字符:

这是运行先前命令的另一种方法。

$ !-1

样本输出:

uname -r 5.3.0-40-generic

同样, !-2 将运行倒数第二个命令, !-3 将运行倒数第三条命令,依此类推。

方法5 –使用CTRL + p和CTRL + o:

我不想手动键入任何命令。是否可以通过仅按键盘上的特定键来重复上一个命令?当然是!

按 CTRL + P 切换到最后一个命令,然后按 CTRL + O 执行它。这将使奇迹。无需配置!您可以使用CTRL + O多次,以保持重新执行最后一个命令。

建议阅读:

将标签应用于Linux命令以轻松从历史记录中检索它们使用Apropos轻松调用忘记的Linux命令Pet –一个简单的命令行摘要管理器如何保存命令并按需使用命令将Linux命令简化为重复调用

就这样。您现在知道了如何重复上一条命令,而无需在终端中键入它。如果您想查看最后一个命令的输出而不必实际键入它们,则这些方法将有所帮助。

如果您知道其他任何方法,请在下面的评论部分中告诉我。我将相应地检查和更新指南。

-->


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3