Linux 中的 history 命令
本文展示了使用 history
命令来显示 Bash 历史记录、在历史记录中搜索、删除命令以及清除整个历史记录。
Bash 中的 history
命令
Bash 中的 history
命令显示在 shell 会话中执行的所有命令的列表。history
命令将在 shell 上执行的每个命令视为一个事件,并为其分配一个事件编号。
以后可以使用事件编号访问这些命令,也可以修改它们。主目录中的 .bash_history
文件还存储终端上最近执行的命令。
Bash 中的 history
环境变量
与 history
命令相关的三个环境变量是: HISTFILE
、HISTFILESIZE
和 HISTSIZE
。环境变量 HISTFILE
存储 Bash 历史文件的名称和位置 .bash_history
。
环境变量 HISTFILESIZE
存储存储在 .bash_history
文件中的命令数,HISTSIZE
存储可以缓存的命令数。
下图显示了三个环境变量中存储的值; HISTFILE
、HISTFILESIZE
和 HISTSIZE
。
.bash_history
文件可以存储 2000 条命令,一旦达到最大命令数,将删除最旧的命令,并存储新的命令。
系统可以缓存的最大命令数为 1000。
你必须编辑主目录中的 .bashrc
文件以修改三个环境变量。
在 Bash 中显示历史
要在 Bash 中显示所有 history
命令,请键入 history
并按 Enter。当执行下图中的 history
命令时,我们看到部分输出显示到标准终端。
命令前面的数字是与每个命令关联的事件编号。
在 Bash 中显示历史中的前 n
个命令
我们可以使用 history
命令和 head
命令来显示历史中的前 n
个命令。我们在下图中显示了历史上的前 10
个命令。
我们使用 history
命令、管道运算符和 head
命令来显示前 10
个命令。history
命令输出通过管道传送到 head
命令,该命令仅获取历史输出的前 10
行并将它们显示到标准输出。
在 Bash 中显示历史上最后的 n
个命令
我们可以使用 history
命令来显示最后 n
个命令并传递一个整数作为参数。我们传递的整数告诉 history
命令显示历史中最后的 n
命令。
我们使用 history
命令并传递下图中的整数 7
。这意味着 history
命令将显示历史中最后的 7
命令。
在 Bash 中搜索历史
我们还可以使用 history
命令和 grep
命令来搜索历史记录中的特定模式。下图在历史记录中使用 grep
命令搜索正则表达式 delft
。
我们使用 history
命令、管道运算符和 grep
命令在历史记录中搜索正则表达式。history
命令的输出通过管道传送到 grep
命令,该命令在其中搜索正则表达式 delft
。
所有匹配正则表达式的行都显示到标准终端。
从 Bash 的历史记录中删除命令
history
命令还可以从历史记录中删除特定命令。要从历史记录中删除命令,我们使用带有 -d
选项的 history
命令和命令的事件编号。
在下图中,我们使用命令 history 10
列出历史中最后的 10
命令。我们决定删除已突出显示的命令。
我们使用带有 -d
选项的 history
命令,并传入突出显示命令的事件编号。它从历史记录中删除该命令。
为了确认命令是否已被删除,我们检查历史记录中的最后 10
行,我们看到事件 ID 为 312
的命令 pwd
不存在。
删除 Bash 中的全部历史记录
要删除历史记录中的所有条目,我们使用带有 -c
选项的 history
命令。它会删除历史记录中的所有条目。
在下图中,我们使用 history
命令列出历史中最后的 5
个命令。稍后,我们使用带有 -c
选项的 history
命令来清除历史记录中的所有条目。
我们使用 history
命令显示历史中的所有条目,我们看到所有条目都已被清除。
相关文章
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:130 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。
Linux 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
Linux 中的 ps aux 命令
发布时间:2023/05/04 浏览次数:69 分类:操作系统
-
本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。
Linux 中的 NTP
发布时间:2023/05/04 浏览次数:137 分类:操作系统
-
本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。
在 Bash 中创建进度条
发布时间:2023/05/04 浏览次数:164 分类:操作系统
-
这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条