Linux历史记录是bash的一个函数,它为以前发出的命令提供了不同的选项。在本教程中,我们将查看这些选项。
显示历史记录
提供history命令来简单地列出历史就足够了。历史文件位于用户主目录中,命名为.bashu History for bash shell。
$ history

或者
在Linux中显示历史的另一种方法。请记住,这将显示没有行号的历史记录。
$ cat ~/.bash_history
显示带有时间戳的历史记录
要获取带有问题时间戳的历史命令,有一个bash变量可以更改时间戳。
$ export HISTTIMEFORMAT='%F %T '
删除历史时间戳
删除时间戳集 HISTTIMEFORMAT
bash变量为空。这将完全删除时间戳
$ export HISTTIMEFORMAT=''

使用Control+R搜索历史记录
搜索特定文本的历史记录 Control+R
快捷方式可用于 Control+R
写下要搜索的文本
(reverse-i-search)`HI': export HISTTIMEFORMAT='%F %T '

我们把文字 HI
得到命令 export HISTTIMEFORMAT=''
运行上一个命令
你还记得我们之前的命令吗?也许是,但历史会记住它,我们可以用它来称呼它 !!
或 !-1
$ !!

签发后 !!
将要运行的命令被打印到控制台,然后运行。
执行历史记录中的特定命令
我们可能需要运行历史记录中的特定命令。众所周知,history命令默认为每个历史条目提供编号。要在历史记录中运行特定命令,可以使用命令的编号来指定命令。
在本例中,我们将运行command number 1323
通过使用 !
接线员。
$ !1323

正如预期的那样,命令被发出 发到终点站再发。
相关文章: Nmap主机发现及其示例
用特定字执行历史记录中的特定命令
通过指定命令的开头在历史记录中重新运行命令
$ !echo

如你所见,我们已经跑了 echo "poftut"
以echo开头的命令。
永久更改历史大小
历史大小默认为 1000
1000行之后的行长最早的命令将从列表中删除。如果我们 想要改变历史的大小我们需要设置新的大小槽 HISTSIZE
bash环境变量。使改变永久化 HISTSIZE
可以添加到 .bash_profile
文件。
$ echo HISTSIZE=100000 >> .bash_profile
禁止在历史记录中保存重复命令
虽然有很多重复的命令对我们来说毫无意义。删除它们将使历史文件更清晰,大小更小。
$ export HISTCONTROL=ignoredups
删除历史记录中的重复命令
要删除现有的重复命令,我们可以使用 HISTCONTROL
bash环境变量 erasedups
值如下所示。
$ export HISTCONTROL=erasedups
强制历史记录不保存特定命令
一些初级系统管理员试图隐藏他们发出的命令。下面是如何做到这一点。但请记住,最好的是不要隐藏任何东西
$ echo "HISTCONTROL=ignorespace" >> .bash_profile $ export HISTCONTROL=ignorespace
我们已经使太空启动命令在历史上不可见。所以我们发布了 ls
命令,然后查看历史,但没有记录 关于它。
清除所有历史记录
在把历史弄清楚之后至少我们的命令