如何检查您的命令历史记录 Ubuntu 20.04

在他们的日常操作中,系统管理员可以在服务器上执行无数命令来实现他们的目标。 他们可能在每个会话中运行数百条命令,并且每个会话都可能与上一个不同。 这使得很难记住您过去执行过的所有命令。 但是不要担心,很多人都不知道,每当他们在终端上打字时, Linux 正在将所有执行的命令记录在一个文件中。

在本指南中,我将向您介绍查找命令历史记录并从那里重用命令所需的命令。 当您习惯这些命令时,请确保您不会无意中执行可能会给您带来问题的命令。 也就是说,花点时间使用这些命令并在沙盒或虚拟机中练习它们,如果可能的话,然后再在实时环境中执行它们。

虽然这些命令适用于大多数 Linux 发行版,出于本指南的目的,我将向您展示这些命令使用 Ubuntu 20 月 04 日。

滚动浏览最近的命令

查找命令的最简单方法是使用终端中的向上和向下箭头键。 您可以像这样循环浏览最近的命令。

当您找到所需的命令时,您所要做的就是按“Enter”。

“历史”命令

在终端中运行“history”命令只会列出在终端中执行的最后一千条命令。 你得到的每个命令都有一个数字前缀。

$history

运行带有“x”数字的历史命令将列出最后执行的“x”命令。 就像我们运行以下命令一样,我们将执行最后 2 个命令。

$history 2 

您可以将数字更改为您想要的任何数字,例如 20、30、40 或任何数字。

执行上一个命令

现在我们了解了“历史”命令,您可以简单地使用它之前的数字重新执行命令,就这样。 让我们运行历史。

现在在所有这些命令中,假设我想运行第二个命令。 我需要做的就是获取号码并像这样运行它:

$!2

请记住感叹号和数字之间没有空格。

使用 grep 增强搜索

到目前为止,我们一直在使用简单的命令作为 example. 假设您正在使用冗长的命令,而您只记得部分命令。 为了找出所有使用特定关键字的命令,您可以结合使用 grep 命令和历史记录来提取所有相关命令。

让我们尝试在我们的命令中某处包含“.com”的地方提取命令:

$history | grep .com

在这里您会看到您的关键字以红色突出显示。

使用内置反向搜索

搜索以前使用过的命令的另一种方法是通过终端内置的反向搜索。 要做到这一点,您只需按“Ctrl + r”即可。

这样做,您将看到您的终端更新为:

现在您可以开始输入所需的关键字,您将看到终端返回相关匹配项。 因此,让我们尝试回到开始并提取与主机名相关的命令。

再次按“Ctrl + r”,您将循环浏览所有结果。

现在为了运行这些命令中的任何一个,您可以按“Enter”键执行您选择的命令。

快速执行上一条命令

通过练习获得足够的信心来记住您执行的最后一个命令。 如果您确实记得最后一条命令并且知道它不会给您带来任何问题,您可以快速再次运行它:

$!!

正如你在这里看到的,我运行了一个简单的“ls”。 跑步 ”!!” 告诉您最后运行了哪个命令,然后再次执行它。 现在有时,它可能是一个需要提升权限的命令,您可以按以下方式运行该命令:

$sudo !!

从历史中排除命令

现在如果你想让你的命令不被包含在终端历史记录中,你可以在它之前添加一个空格,终端不会保存它。

如您所见,我在“hostnamectl”之后执行了“ls”,但是当我拉出历史记录时,倒数第二个位置的“ls”命令不在历史记录中。

结论

通过一些练习,这些命令会成为您在日常操作中使用的本能,并且可以使您使用终端的时间更加有效和高效。 通过这些命令,您可以识别并重新执行很少使用的命令,或者一开始难以安排/记住的命令。

与往常一样,如果您在使用这些命令时遇到任何问题或想了解更多有关它们的信息,请随时在下方给我们留言,我们将引导您解决任何问题或错误。