教程

如何在 Linux 中有效地使用 history 命令

许多 Linux 服务器的管理员需要花费大量时间在命令行上,因此查看 history 命令对他们来说是必不可少的。

以 BASH(Bourne Again SHell)为代表的用于与操作系统交互的默认命令行 Shell 在大多数主要的 Linux 发行版中被使用。

什么是 history 命令

history 命令被用于列出以前输入的命令和 Bash 日志。

这个日志被称为 “history” ,它能够使我们快速查看以前在系统上执行的内容。

BASH 将关闭终端会话时所运行的所有命令并写入你的历史记录文件。

~/.bash_history

当你同时运行两个会话的时候,history 命令将单独显示当前的会话记录,而不会显示其他的历史会话记录。

如何查阅历史命令

单独运行 history 命令,无需其他选项就可以查阅先前运行的命令。如果你有大量的历史记录,则无法正确地看到这些记录。在这些情况下,你必须使用诸如 less , more 等的文件视图命令。

如何查阅最后的“ n ”命令

默认情况下,history 命令显示我们执行的最后1000条命令。如果你只想列出“ n ”个命令,请使用以下命令。例如,显示最近的10个历史记录,请运行以下命令。

history n

如何运行先前执行的命令

  • 使用 UPDOWN 方向键来回滚动用于浏览以前输入的命令。
  • Enter 键执行它们或使用 LeftRight 键编辑命令。

重复上一个命令

重复执行你的最后一条命令,请运行以下命令。

!! - Double exclamation point

使用它的编号重复执行先前的命令

使用它的编号重复执行之前的命令。这将会很快地运行先前执行的命令,而不需要再次输入长长的命令。

搜索并运行先前执行的命令

History 命令提供了各种搜索选项,这将允许我们搜索并运行先前执行的命令。

  • 运行在字符串开始处匹配的命令
  • 运行匹配给定字符串的命令

为了能够执行这个操作,这里作者调取了最后30个历史日志来进一步说明。

  • 如果你想运行在字符串开始处匹配的命令,请使用以下格式,它将运行以 doc 字符串开头的最新命令。
    以作者的情况为例,它将运行位于756行的 docker run 命令。

    docker run

  • 如果你想运行匹配给定字符串的命令,请使用以下格式,以作者的情况为例,它将运行以位于754行的 docker ps 命令。

    docker ps

如何替换字符串并运行先前执行的命令

如果你想用新字符串重复上一个命令,只需要将 string1 替换为 string2 即可。(相当于使用以下命令)

> !!:s/string1/string2/

请使用以下格式。首先在下面的例子中,作者以及运行了 Fedora docker image,然后用 CentOS 而不是 Fedora 替换字符串。

如果你想运行先前使用的新字符串执行的任何具体命令,请使用以下任何一种命令格式。

以作者的情况为例。位于821行的 history 命令是 fedora docker 的容器。要想运行 centos 容器,只需将字母替换成 centos 。

使用 grep 命令列出匹配字符串

如果你已经在 docker 运行了很多命令,那么使用 grep 和 docker 命令可以很容易地显示匹配的命令列表。

如何在历史命令中显示日期和时间

默认情况下,history 命令只显示用户执行的命令,不显示日期和时间,但会记录运行命令的时间。

如果你想在 history 命令中输出添加日期和时间,请导航至以下的链接。

Suggested Read : How To Display Date And Time In History Command

如何使用 YUM 命令来回滚更新

Yum( Yellowdog Update Modified )是 CentOS 和 Red Hat 系统的 RPM 软件包管理工具。Yum 的 history 命令允许管理员将系统回滚到先前的状态,但由于一些限制,回滚在所有的情况下都不起作用,或者 yum 命令可能不会执行任何操作,同时也可能移除您所不期望的包。

Suggested Read : How To Use YUM History Command To Rollback An Updates

如何查看其他用户的历史记录

使用以下命令查看其他用户记录。

>  # more /home/$USER/.bash_history

#如何通过 BASH History 进行搜索

我们可以通过敲击 CTRL-R 键使用关键字搜索先前执行的命令(这将会在历史记录中向后搜索并且优先显示最近的结果)。再次按 CTRL-R 查看下一个结果。

>   # (reverse-i-search)'dock': docker run -ti centos /bin/bash

本文由 LinuxStory 志愿者 Sunling 翻译,更多详情请查看原文。
原文链接:https://www.2daygeek.com/how-to-use-history-command-effectively-in-linux/
本文链接:https://linuxstory.org/how-to-use-histo…ctively-in-linux/
转载请注明来自 LinuxStory ,否则必究相关责任!

对这篇文章感觉如何?

太棒了
2
不错
0
爱死了
0
不太好
0
感觉很糟
0

You may also like

Leave a reply

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

More in:教程

教程

在 Ubuntu Linux 上安装 Clang

无论您使用的是 Ubuntu 22.04、20.04 或其他任何版本,并且想要安装 Clang(一个开源的 C、C++ 和 Objective-C 编译器),本文将对您有所帮助。Clang 是 GNU […]