乐趣区

关于linux:Linux命令行中几个使用history相关的技巧

当你频繁应用 Linux 命令行时,无效地应用历史记录能够大大提高生产力。

  1. 应用 HISTTIMEFORMAT 显示工夫戳
    当在命令行输出 history 时,它将显示序号和命令。出于审计目标,将工夫戳与命令一起显示可能会有所帮忙。

[root@localhost ~]# export HISTTIMEFORMAT=’%F %T ‘
[root@localhost ~]# history | less
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

  1. 应用 Ctrl + r 搜寻历史记录
    当你曾经执行了很长的命令时,能够简略地应用关键字搜寻历史记录并从新执行同一命令,而不用齐全键入它。按 Ctrl + r 并键入关键字。在以下示例中,我搜寻了 wget,它在蕴含 wget 一词的历史记录中显示了先前的命令“wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep…”。

当按下 ctrl + r 键,会呈现上面状态。

(reverse-i-search)`’:

而后输出 wget,前面会有命令过滤出匹配的历史命令。如果显示进去的是不想要的命令,能够持续补充命令行。

(reverse-i-search)`wget ‘: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep…
当搜寻出想要的命令行,能够按下 Enter 回车键,就可执行命令了。

过滤出匹配的历史命令,想要更改参数,能够按一下 tab 键、或者方向键,能够退出搜寻模式来批改这条历史命令,并执行。

3. 速反复上一个命令
能够应用!! 两个叹号,执行上一条命令。也能够应用!-1,执行上一条命令。
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

  1. 从 history 中执行特定命令
    能够应用! 加数字,执行 history 外面指定行号的命令。

[root@localhost ~]# !4
ss -tul
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 [::1]:323 [::]:*
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
tcp LISTEN 0 128 [::]:ssh [::]:*
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

  1. 应用 HISTSIZE 管制历史记录中的总行数
    默认状况下 Centos8 中,history 存储 1000 条历史记录。能够应用上面命令查看:

[root@localhost ~]# echo $HISTSIZE
1000
将以下两行增加到.bash_profile,而后执行 source ~/.bash_profile 即可失效。上面命令中,使 history 存储历史记录少一些,只存储 200 条。

[root@localhost ~]# echo “HISTSIZE=200” >> .bash_profile
[root@localhost ~]# echo “HISFILETSIZE=200” >> .bash_profile
[root@localhost ~]# source ~/.bash_profile
其中 HISTSIZE 变量,管制 history 命令显示的数量。

其中 HISTFILESIZE 变量,管制.bash_history 文件中,历史记录的数量。

  1. 更改历史记录文件名
    默认状况下,历史记录的文件名叫.bash_history,能够应用 HISTFILE 变量更改它的文件名,能够将 HISTFILE 变量写入~/.bash_profile 文件中,以下示例:

[root@localhost ~]# echo “HISTFILE=/root/.cmd_hist” >> ~/.bash_profile
[root@localhost ~]# reboot
增加实现之后,重启操作系统,能够看到新的历史记录文件曾经能够存储历史记录了。
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

  1. 革除历史记录
    应用 - c 选项革除历史记录:

[root@localhost ~]# history -c
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

  1. 禁用历史记录
    如果你想全副禁用历史记录,则将 HISTSIZE 和 HISTFILESIZE 设置为 0,如下所示。

[root@localhost ~]# echo “HISTSIZE=0” >> .bash_profile
[root@localhost ~]# echo “HISFILETSIZE=0” >> .bash_profile
[root@localhost ~]# source ~/.bash_profile
Linux 命令行中几个应用 history 相干的技巧 Linux 命令行中几个应用 history 相干的技巧

总结
当你频繁应用 Linux 命令行时,无效地应用历史记录能够大大提高生产力。

退出移动版