📅  最后修改于: 2020-12-08 08:46:43             🧑  作者: Mango
Linux历史记录命令用于显示用户执行的命令的历史记录。这是一个方便的工具,用于审核执行的命令及其日期和时间。
大多数命令一次从终端读取一行的输入。但是,history命令能够保留这些行以及相关数据的记录。默认情况下,它将显示从旧命令到最新命令的最后五百个命令。历史记录库保存在历史记录文件中。
history命令的基本语法如下:
history
以下是history命令支持的一些命令行选项:
-c:用于清除完整的历史记录列表。
-d偏移量:用于删除位置OFFSET处的历史记录条目。
-a:用于附加历史记录行。
-n:用于读取所有历史记录行。
-r:用于读取历史记录文件。
-w:用于将当前历史记录写入历史记录库。
-p:用于执行历史记录扩展。
-s:用于将ARG作为单个条目附加到历史列表。
history命令的基本用法非常简单。执行以下历史记录命令:
history
它将列出历史记录库中先前执行的命令。考虑下面的输出快照:
从上面的输出中,将显示500个命令的列表。
通过将其指定为“!<命令号>”,可以显示命令的特定数目。例如,我们要在历史文件中显示最新命令,即第500条命令,请执行以下命令:
!500
它将显示我们历史记录中的最新命令。考虑以下输出:
从上面的输出中,我们已经执行了man命令,因此正在显示它。输出将根据历史记录而有所不同。
我们可以使用history命令列出最后的n条命令。例如,如果要显示前五个命令,请执行以下命令:
history 5
上面的命令将显示前五个已执行的命令。考虑以下输出:
我们可以通过指定命令名称来显示该命令。它将显示该命令的最新用法。例如,我想查看最后的“ ls”命令。为此,请执行以下命令:
!ls
上面的命令将显示历史记录中ls命令的先前用法。考虑以下输出:
我们可以通过指定搜索模式来显示命令的历史记录。要指定模式,请按如下所示将历史命令与grep命令进行管道传递:
history | grep se
上面的命令将搜索与模式“ se”匹配的命令。考虑以下输出:
我们可以通过返回具有不同语法的命令来打开已执行的历史记录命令。例如,如果我们想将以前的命令“ history | grep se”更改为“ history | grep ma”。为此,执行以下命令:
^se^ma^
上面的命令将更改以前的历史记录命令行为。它将显示与模式“ ma”而不是“ se”匹配的命令。考虑以下输出:
从上面的输出中,显示所有与模式“ ma”匹配的命令。
history命令允许我们从历史库中删除数据。我们可以删除特定的行或完整的历史记录。
要删除特定命令,请通过在历史记录中指定命令编号来执行历史记录命令,如下所示:
history -d
例如,要删除最新命令,请执行以下命令:
history -d 500
上面的命令将删除最新的命令,该命令的编号为500。请考虑以下输出:
从上面的输出中,将删除历史记录中的第500条命令。如果成功执行,它将不会返回任何内容。
要删除已执行命令的完整历史记录,请运行以下命令:
history -c
上面的命令将从历史记录库中删除整个历史记录。