Linux历史命令:综合指南
Linux
历史
命令是一个功能强大的工具,允许您访问和管理过去的终端命令。搜索、编辑和执行先前命令的能力可以显著提高您的效率和生产力。
无论您是初学者还是经验丰富的Linux用户,本指南都将为最大限度地利用
历史
命令
执行命令时显示
当您键入
历史
在命令行中,您通常会看到一个数字,后面跟着您最近使用的命令。

但是,在命令旁边显示时间戳可能有助于审计目的。要启用此功能,必须配置
历史时间格式
bash变量,如下所示。
出口
历史时间格式=
“%F%T”
代码语言:
JavaScript
(
javascript
)
现在,如果您重新运行
历史
命令,输出将如下所示:

删除变量以恢复到默认的查看模式。
取消设置
历史时间格式
代码语言:
PHP
(
php
)
搜索命令历史记录
这可能是你最常使用的
历史
命令功能。执行完一个冗长的命令后,您可以在历史记录中搜索关键字并重新执行它,而无需再次键入。以下是如何使用此内置功能。
- 按
Ctrl+R
并键入关键字。
- 继续按压
Ctrl+R
直到你找到你要找的命令。
- 当您看到它时,按下“Enter”,它将执行命令。
我搜索了“
恰当的
在以下示例中,显示了找到的第一个匹配项
sudo apt更新
“在包含单词的历史中”
恰当的
.”

但是,在执行命令之前,您可能需要编辑历史记录中的命令。当您达到匹配时,按“Esc”键,对命令进行必要的更改,然后按“Enter”重新执行
重复上次执行的命令
由于各种原因,您可能会重复以前的命令。以下是重复上次执行的命令的四种不同方式。
- 使用向上箭头查看上一个命令,然后按enter键执行该命令。
- 类型
!!
然后从命令行按enter键
- 类型
!-1.
然后在命令行中按enter键。
- 按压
Ctrl+P
将显示上一个命令,然后按“Enter”执行。
执行历史中的特定命令
有时我们想从历史列表中运行一个特定的命令。例如,让这是命令#7,“
sudo apt搜索chrome gnome shell
.”

要执行此操作,请键入“
!
”,然后将命令号输入终端。在我们的情况下,这将是“
!7.
“.

限制历史记录项目的数量
这个
历史大小
和
历史文件大小
内置的Bash-shell变量控制着这一点。因此,在您的“
~/.bashrc文件
,”然后注销并重新登录。
HISTSIZE=2000
HISTFILESIZE=2000
因此,现在历史记录被设置为存储2000个命令。默认情况下,在大多数Linux发行版中,历史记录大小限制为500或1000条记录。
更改历史文件名
默认情况下,历史记录存储在
~/.bash_history
”文件。要将保存命令历史记录的文件更改为,例如,“
~/.my_commands
,“将以下行添加到”
~/.bash_profile
”文件,然后注销并重新登录。
HISTFILE=~/.my_commands
这个
HISTFILE
变量保存Bash历史文件的名称和位置。当从不同的终端使用不同的历史文件名跟踪命令时,这很有用。
删除连续重复的条目
如果我们频繁地执行一个命令,它的存在将被重复多次。例如
历史
命令本身出现在下面七次。

若要删除以前的所有重复匹配项,请设置
历史控制
到
擦除重复数据
,如下所示。
出口
HITCONTROL=擦除重复
代码语言:
JavaScript
(
javascript
)
如果我们重新运行history命令,除了最近发生的匹配外,重复的匹配将消失。

我必须在这里作出重大区分。假设
历史控制
变量设置为
忽略
而不是
擦除重复数据
在这种情况下,如果该命令之前已被执行并写入历史记录,则不会将其添加到历史记录中,但这不会删除其之前在历史记录中的所有出现。
从历史记录中隐藏特定命令
现在我们来看看的一个特定功能
历史
命令也就是说,当你运行一个命令时,你可以通过设置来告诉历史忽略它
历史控制
到
忽略空间
并在命令之前放置一个空格,如下所示。
请注意,“”的开头有一个空格
ping…
”,指示history命令不要对其进行日志记录。

当然,在使用此功能时,请记住,有目的地从历史记录中隐藏命令肯定会在随后的系统审计中遇到麻烦。因此,除非你有充分正当的理由解释你的行为,否则我的建议是克制。
清除所有历史记录
有时,您可能想要擦除以前所有命令的历史记录。使用下面的命令很容易实现这一点。
历史-c
当然,与前面的例子一样,所有的注意事项都适用。
从历史记录中删除特定条目
这个
历史
命令还允许您仅删除特定的记录。例如,假设这是以下列表的第4行。

要删除它,请传递“
d
”参数,后跟要删除的记录号。
历史-d 4
接下来,如果我们进行检查,我们将看到它已经从执行的命令列表中丢失。

忽略特定命令
您可能不想用诸如
cd
,
pwd
和
ls
那样的话
组氨酸
允许您选择哪些命令不应包含在历史记录中。
使用“
:
”符号表示拆分,以列出多个命令,如下所示。
出口
组氨酸=
“cd:pwd:ls”
代码语言:
JavaScript
(
javascript
)
请注意,添加
ls
到
组氨酸
仅忽略
ls
但不是例如,
ls-l
。换句话说,您必须提供要从历史记录中删除的确切命令。
禁用历史记录的使用
设置
历史大小
设置为0以完全禁用历史记录并防止Bash shell记住您键入的命令。
出口
历史大小=
0
代码语言:
JavaScript
(
javascript
)
结论
Linux
历史
命令是一个功能强大的工具,允许用户查看和操作其终端会话的命令历史记录。它允许用户搜索特定的命令,重复以前的命令,甚至编辑和重新运行历史记录中的命令。
这对于经常使用命令行的用户尤其有用,因为它允许他们轻松访问和重用以前输入的命令。本指南将向您介绍历史命令的所有重要方面和应用程序,以拓宽您的技能范围。
有关的更多信息
历史
命令,请参阅其手册页。
你应该把你的Mac换给苹果还是第三方?
当天的视频 滚动以继续浏览内容 苹果和第三方网站提供的程序允许你用Mac电脑换现金支付或礼品卡。我们将分析通过苹果和第三方网站进行交易的优势,以便您在更换新Mac时做出明智的决定。 用苹果交易Mac的好处 通过苹果进行Mac交易有很多好处。首先,如果你打算直接从苹果购买新的MacBook,这是非常方便的。你不需要再去别的网站搜索,也不需要等上几天才能拿到买新Mac电脑的钱。 此外,你还可以在苹果零
如何在USB驱动器上安装Ubuntu
每当你想到Linux时,Ubuntu的名字就会出现。多年来,Ubuntu已经成为许多想要可靠替代Windows的用户的下一个最佳操作系统。相比之下,Ubuntu是轻量级的,不需要一个千斤顶笔记本电脑或台式机来流畅运行。 但是你可以从USB驱动器安装和运行Ubuntu吗?是的,可以在闪存盘上安装Ubuntu,这样你就可以有一个便携版本的Ubuntu,你可以插入任何系统,并在需要时使用。 在USB上安
如何使用Barrier与Steam甲板共享电脑鼠标和键盘
Valve的Steam Deck非常适合在旅途中(或从沙发上)玩游戏。然而,它的半隐藏杀手级特性是它还提供了一个真正的桌面,可以访问无数的应用程序。缺点是Steam Deck的输入为游戏进行了优化,使用桌面可能会是一个痛苦的体验。您可以购买USB集线器、鼠标和键盘,并将它们粘在Deck上,以获得真实的桌面体验。但是,为什么要浪费你的钱在冗余硬件上,当你在你的基地?如果您已经有一台电脑,Barrie
如何在Chromebook上更改密码
Chromebook由Google开发的ChromeOS提供支持。虽然ChromeOS允许您以访客身份浏览设备,但如果您想同步数据并访问Google服务,则需要一个Google帐户。由于您使用Google帐户访问您的Chromebook,因此您的Google帐户密码也是您的Chromebook密码。 我们将向您展示如何使用Chromebook更改您的Google帐户密码,从而更改您的Chromeb
Wget命令的十大用例(附示例)
Wget是一个命令行实用程序,用于从web下载文件,由GNU项目创建。该名称是“万维网”和“get”的组合 Wget允许您使用HTTP、HTTPS和FTP协议下载文件。此外,它还允许您下载多个文件、恢复下载、限制带宽、执行递归下载、在后台下载、镜像网站等等。 在本指南结束时,您将了解有关的所有信息 wget 命令以及如何使用它从Internet下载文件。 目录 [打开][关闭] 安装Wget 在U