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
历史
命令是一个功能强大的工具,允许用户查看和操作其终端会话的命令历史记录。它允许用户搜索特定的命令,重复以前的命令,甚至编辑和重新运行历史记录中的命令。
这对于经常使用命令行的用户尤其有用,因为它允许他们轻松访问和重用以前输入的命令。本指南将向您介绍历史命令的所有重要方面和应用程序,以拓宽您的技能范围。
有关的更多信息
历史
命令,请参阅其手册页。
Windows的5个最佳生育替代方案
对许多个人电脑用户来说,这是非常不利的,因为Windows没有“生育”功能。然而,这并不意味着在其他绘图程序中找不到类似的体验。这里有一些应用程序,比如Procreate for Windows,你可以尝试一下。 利用当天的视频 1. Krita Krita是一款出色的绘图应用程序,可以将您的绘图从概念转变为全面而富有想象力的细节。与Procreate一样,它几乎支持任何可以想象的绘画风格,无论是
如何在Windows 11/10上自动登录用户帐户
如果您发现在打开电脑时输入密码不方便,Windows 11和10提供方便的内置功能,允许您绕过登录屏幕直接跳转到桌面。以下是在Windows 11和10中设置自动登录的三种主要方法。 1.使用Netplwiz自动登录用户帐户 自动登录Windows 11或10用户帐户的最简单方法是使用Netplwiz实用程序。虽然这个看起来很有日期的面板不是一个你可能经常访问的,你只需要调整这里的一个选项来启用自
如何在Linux中解压缩文件(附示例)
通过压缩文件,在计算机和服务器之间传输数据变得简单高效。 当文件被压缩时,它们可以节省本地驱动器上的磁盘空间,并使从互联网下载文件变得更容易、更方便,在大多数情况下,使用的带宽远低于发送全尺寸文件。 所以你收到了 拉链 文件,而现在您正纠结于如何在Linux上解压缩它的内容?您可以使用unzip命令在Linux上提取(解压缩)文件。 首先,必须安装 解压缩 因为在大多数Linux发行版中默认情况下
Linux文件系统类型说明,应该使用哪一种
为您的应用程序选择Linux文件系统是一个重要的决定。本教程介绍了一些主要的Linux文件系统,并提供了适合您的应用程序的正确文件系统的建议。 什么是Linux文件系统 引导Linux系统并使其正常工作所需的几乎每一点数据和编程都保存在文件系统中。例如,操作系统本身、编译器、应用程序、共享库、配置文件、日志文件、介质装载点等。 文件系统在后台运行。就像操作系统内核的其他部分一样,它们在日常使用中基
如何修复Roblox上的错误代码262
您是否突然与Roblox断开连接,并收到错误代码262:“发送数据时出现问题,请重新连接”?该错误通常发生在您的互联网连接或Roblox的服务器关闭时。 然而,还有其他原因,比如带宽不足,使用第三方MOD和扩展程序,在玩Roblox时运行下载,或者只是互联网连接不稳定。如果你在玩Roblox时遇到这个错误,这里有一些你可以应用的可能的修复。 1.排除临时问题 您的设备和Roblox服务器之间的连接