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
历史
命令是一个功能强大的工具,允许用户查看和操作其终端会话的命令历史记录。它允许用户搜索特定的命令,重复以前的命令,甚至编辑和重新运行历史记录中的命令。
这对于经常使用命令行的用户尤其有用,因为它允许他们轻松访问和重用以前输入的命令。本指南将向您介绍历史命令的所有重要方面和应用程序,以拓宽您的技能范围。
有关的更多信息
历史
命令,请参阅其手册页。
Wine 9.0经过一年的发展终于问世
Wine开发团队宣布了备受期待的Wine 9.0版本,这标志着Linux和类Unix系统的Windows兼容性层的一个重要里程碑。 Wine 9.0的主要亮点 这个稳定的版本包含了一年的开发,包括7000多项旨在增强用户体验和系统性能的个人更改。 WoW64体系结构 此版本中的一个突出功能是新的WoW64(Windows 64位上的Windows 32位)体系结构。这一关键开发使32位Window
如何在Linux上下载和安装TeamViewer
TeamViewer无疑是互联网上最受欢迎的远程计算客户端之一。与Windows和macOS一样,Linux用户也可以安装TeamViewer来远程访问其他设备和计算机。 以下是您如何在Linux计算机上下载和安装TeamViewer(远程控制和访问软件)。 下载TeamViewer for Linux 在安装TeamViewer之前,您需要从TeamViewer网站下载官方包。您可以找到用于De
Ventoy:如何创建具有多个ISO文件的多引导USB驱动器
每当你想尝试一个新的Linux发行版时,你都可以从发行版网站下载ISO映像,并使用dd命令或借助其他工具(如Balena Etcher)将其写入U盘。 但现在,一个名为 Ventoy 改变了这一切。 Ventoy是一个用于创建可引导USB驱动器的开源工具。 它可以用来创建一个可引导的永久驱动器,甚至可以一次包含多个分发版。 USB驱动器不需要格式化,您可以复制任意数量的ISO文件。Ventoy会给
CachyOS:基于架构的Linux Distro定向性能
Arch Linux以两件事而闻名:它为初学者提供了复杂的安装,以及它提供的无限定制选项。因此,毫不奇怪,像Manjaro和EndeavourOS这样的发行版试图最小化第一个,并充分利用第二个。 但是,正如Linux的多样化世界中经常发生的情况一样,总是有不同观点的人的空间。CachyOS是一个新手,与Manjaro和EndeavourOS相当,但专注于其他目标。 什么是CachyOS Linux
gtrash:Linux上处理垃圾桶的一种新的安全方法
你有没有发现自己使用命令行错误地从Linux系统中删除了重要文件?我们都去过那里。这个 rm 命令可能是相当无情的;一旦某个内容被删除,它就会永远消失。 但别担心;有一个解决方案:向打招呼 gtrash ! 这是在Linux中删除文件的更安全、更用户友好的方式,让您安心。 gtrash的本质 gtrash 作为一个遵循FreeDesktop.org规范的命令行垃圾管理器,它脱颖而出。它的设计目的是