欢迎光临
我们一直在努力

Linux历史初学者命令教程(8个示例)

Linux历史初学者命令教程(8个示例)

如果您的工作涉及在Linux命令行上运行工具和脚本,我相信每天都会运行很多命令。 那些刚接触命令行的人应该知道存在一个工具 – 称为历史记录 – 它为您提供了之前执行过的命令列表。

在本教程中,我们将使用一些易于理解的示例讨论历史命令的基础知识。 但在我们这样做之前,值得一提的是这里的所有例子都是在Ubuntu 16.04LTS机器上测试过的。

Linux历史命令

如果您知道如何有效地利用命令行历史记录,则可以每天节省大量时间。 以下是一些Q&A风格的示例,可以让您了解如何使用历史命令为您带来好处。

Q1。 历史命令如何工作?

基本用法很简单 – 只需执行’history’命令即可。

history

历史命令如何工作

因此,您可以看到先前运行的命令显示在输出中。 请注意,我使用’ more ‘命令确保输出显示在第一页暂停(’history’的完整输出通常很长)。

Q2。 如何让历史显示日期和时间?

如果希望history命令显示每个命令的执行日期和时间,可以通过以下方式导出HISTTIMEFORMAT变量来完成此操作:

export HISTTIMEFORMAT=”%F %T: “

而已。 现在,当您运行’history’命令时,您将在输出中看到日期和时间信息。

如何使历史显示日期和时间

如果您看到所有命令的日期和时间相同,则以下说明应该清楚:

If you set the HISTTIMEFORMAT in bash your new entries get stored in the history file with a 
timestamp, older commands that don't have a timestamp (those before you ever set HISTTIMEFORMAT
will display one and the same date-time-stamp (I assume the one from the first entry found with a
real timestamp).

This problem should solve itself after your complete history has been updated in a few days.

You can look in ~/.bash_history to see what is the first line that has a date-time-stamp.
Those are lines starting with a # followed by a (currently) 10 digit number.

Q3。 如何让历史记录停止录制命令?

如果出现不希望系统保存命令历史记录的情况,则可以使用HISTSIZE变量执行此操作。 只需输出零作为其值,你就是好的。

请参阅以下示例:

如何使历史记录停止录制命令

所以你可以看到,运行’history’命令现在没有产生任何结果。

请注意,还有一个HISTFILESIZE变量。 这是两者之间的区别

HISTSIZE is the number of lines or commands that are stored in memory in a history list while your 
bash session is ongoing.

HISTFILESIZE is the number of lines or commands that (a) are allowed in the history file at startup
time of a session, and (b) are stored in the history file at the end of your bash session for use in
future sessions.

Q4。 如何让历史记录不记录单个命令?

这可以通过将HISTCONTROL变量设置为’ignorespace’来完成。 您可以通过以下方式执行此操作:

export HISTCONTROL=ignorespace

现在,无论何时运行不希望记录在历史记录中的命令,只需使用前导空格执行它即可。

当然,您可以使用grep命令在history命令生成的输出中搜索特定关键字或命令。 但是,还存在一种更快的方法:反向搜索。

这很简单 – 你要做的就是在命令行上按CTRL + R,你会看到你的提示变成这样的:

现在输入您要搜索的关键字,您将在右侧看到历史记录中的匹配建议。 例如,我输入’man’(没有引号),我得到的第一个结果是’man apropos’。

如果这不是您想要的,您可以再次按CTRL + R获得下一个匹配结果。 所以在我的情况下,我得到的下一个结果是“男人找到搜索”。

你可以继续这样搜索。 获得所需结果后,只需按右箭头键,即可在提示符下输入整个命令。

所以现在你可以运行这个命令,或者以你想要的任何方式使用它。

Q6。 如何运行上一个命令?

有两种简单的方法可以运行上次执行的命令:按CTRL + P,或运行以下命令:

!!

不相信(特别是第二种方式)? 尝试一下。

如果要求是快速执行倒数第二个命令,您可以通过以下方式执行此操作:

!-1

等等等等。

Q7。 如何使历史记录忽略输出中的重复条目?

这可以通过将HISTCONTROL变量设置为’ignoreboth’和’erasedups’来完成。 您可以通过以下方式执行此操作:

echo HISTCONTROL=ignoreboth:erasedups

现在,当您运行history命令时,输出将不包含重复项。

Q8。 如何清除历史?

如果要清除现有历史记录以便重新启动,请使用-c命令行选项。

history -c

结论

您可能会同意历史是您应该了解的非常重要的命令。 在本教程中,我们讨论了几个重要的提示/技巧,以充分利用此工具。 一旦练习了这些,请访问该工具的手册页以获取更多信息。

赞(0) 打赏
未经允许不得转载:老赵部落 » Linux历史初学者命令教程(8个示例)
data-ad-format="auto" data-full-width-responsive="true">

评论 抢沙发