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
历史
命令是一个功能强大的工具,允许用户查看和操作其终端会话的命令历史记录。它允许用户搜索特定的命令,重复以前的命令,甚至编辑和重新运行历史记录中的命令。
这对于经常使用命令行的用户尤其有用,因为它允许他们轻松访问和重用以前输入的命令。本指南将向您介绍历史命令的所有重要方面和应用程序,以拓宽您的技能范围。
有关的更多信息
历史
命令,请参阅其手册页。
你应该知道的五大Linux外壳
延伸阅读:
Windows 记事本终于获得自动更正和拼写检查功能
在首次引入 Windows 大约 41 年后,记事本终于更新了自动更正和拼写检查功能。这家科技巨头于今年 3 月推出了拼...
Ubuntu 的 apt 和 apt-get 命令有什么区别?
在Ubuntu及其他基于Debian的Linux发行版中,软件包管理是系统维护的一个重要方面。apt和apt-get是两...
Ubuntu远程桌面:如何设置和连接
远程桌面是一种允许您远程接管和使用另一台计算机的服务。在Ubuntu中,可以在图形客户端机器上启用它来控制主机。此功能对...
苹果公司在“放开”iPad活动上宣布的4款产品(以及你错过了什么)
利用当天的视频 苹果2024年5月的“放开”活动标志着iPad系列的一个重要里程碑,该公司推出了自成立以来最重大的升级。...
将照片从iPhone传输到iPhone的8种快速方法
已升级到新iPhone,是否要从旧设备中移动所有照片?或者你只是想从别人的iPhone上转移照片?以下是在两部iPhon...