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
历史
命令是一个功能强大的工具,允许用户查看和操作其终端会话的命令历史记录。它允许用户搜索特定的命令,重复以前的命令,甚至编辑和重新运行历史记录中的命令。
这对于经常使用命令行的用户尤其有用,因为它允许他们轻松访问和重用以前输入的命令。本指南将向您介绍历史命令的所有重要方面和应用程序,以拓宽您的技能范围。
有关的更多信息
历史
命令,请参阅其手册页。
Mophie 3合1旅行充电器(2023)回顾:一种昂贵的充电方式
如果你是苹果粉丝,你可能每天都使用iPhone、Apple Watch和AirPods。Mophie 3合1旅行充电器提供了一个很好的方式来同时为所有三个设备充电,而离家。虽然它折叠起来紧凑时,不使用和削减线需要,成本使整个包装难以吞咽。 mophie 3合1旅行充电器带MagSafe 7./10 Mophie 3合1旅行充电器提供了一个伟大的方式,同时为您的iPhone、AirPods和Appl
跨行业巨头联合推出速度计3.0
自2014年WebKit团队成立以来,Speedometer一直是浏览器引擎的重要晴雨表,推动性能增强,以满足对更动态、无缝在线体验不断增长的需求。 它的最新版本Speedometer 3.0是由领先的科技巨头苹果、谷歌、微软和Mozilla共同开发的,它提供了一个精细的工具,通过模拟网页上的真实用户交互来衡量网络应用程序的响应能力,并开创了浏览器性能测试的新时代。 由于主要浏览器引擎(Blink
如何设置SSH无密码登录
SSH用于登录服务器以远程运行命令和程序。但是,有时您可能希望甚至需要在不输入用户名和密码的情况下自动登录SSH服务器。 通过SSH登录远程系统的两种最流行的机制是 基于密码的身份验证 和 基于密钥的身份验证 . 用户名和密码组合是SSH最常见的身份验证方法,适用于大多数人。不幸的是,使用这种方法存在一定的安全风险。 另一方面,如果您经常使用SSH连接到远程服务器,则基于密钥的身份验证方法最适合您
像专业版一样在Linux中查找文件和目录
您想访问特定的文件,但在Linux系统上找不到它。虽然有很多方法可以在Linux上搜索和定位文件和目录,但最简单、最快的可能是通过终端。 相关:20个初学者基本Linux命令的示例说明 这个 发现 命令是Linux中最重要和最常用的命令行实用程序之一。 使用Find命令在Linux中查找文件和目录 Linux 发现 命令是一个功能强大的工具,使系统管理员能够根据搜索条件定位和管理文件和目录。它支持
如何释放Mac上的空间:你需要知道的8个提示和技巧
Mac中的SSD是其速度惊人的原因之一。但由于闪存存储非常昂贵,MacBook Air、iMac和Mac mini的基本型号仍然配备了256GB的SSD。升级它需要花费数百美元。 如果你的存储空间有限,你需要积极主动。因此,让我们来看看您可以采取(以及稍后自动执行)来释放Mac上宝贵的存储空间的这些步骤。这样,你的Mac就不会在你下次下载大文件时抛出可怕的“你的磁盘几乎满了”横幅。 1.倒垃圾 你