返回介绍

Hack-53 和历史命令相关的变量

发布于 2025-03-08 17:38:41 字数 2159 浏览 0 评论 0 收藏 0

和历史命令相关的变量

在历史记录中显示时间

我们可以用 HISTTIMEFORMAT 这个变量来定义显示历史记录时的时间参数:

➤ export HISTTIMEFORMAT='%F %T '
➤ history 
... ... ...
 1740  2016-01-05 22:45:28 man history 
 1741  2016-01-05 22:45:33 export HISTTIMEFORMAT='%F %T'
 1742  2016-01-05 22:45:34 history 
 1743  2016-01-05 22:45:38 export HISTTIMEFORMAT='%F %T '
 1744  2016-01-05 22:45:40 history 
➤

你也可以用下面的别名来定义显示历史命令的数量:

alias h1='history 10'
alias h2='history 20'
alias h3='history 30'

改变历史记录的大小限制。

!/.bashrc 中有这两个变量控制者 bash 储存的历史命令的数量:

# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450

他们的含义就跟他们的名字一样。

HISTFILE 改变存放历史命令的文件。

# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior

( 都是些没有太多用处的东西,尽管可定制化水平很高...

HISTCONTROL 来删除重复的历史记录

下面的例子中,有三个 pwd 命令,那么在 history 中就会显示三次 pwd , 有点不那么人性化。

# pwd
/
# pwd
/
# pwd
/
# history | tail -4
44 pwd
45 pwd
46 pwd
47 history | tail -4

所以我们可以这样修改:

export HISTCONTROL=ignoredups

然后就不会出现相邻的重复记录了~

在历史命令中去重

如果你还嫌弃历史记录中的那些不相邻的重复记录,你可以用这个:

export HISTCONTROL=erasedups

不记录某些命令

(这个一般是默认的)

export HISTCONTROL=ignorespace

这样历史记录中就不会储存以空格开头的命令了。

禁止记录历史命令

如果你不想记录任何历史命令的话,可以这样做:

export HISTSIZE=0

把历史命令记录的大小设置为 0

( 还可以把历史记录的保存文件改成 /dev/null , 殊途同归 ~)

不记录某些命令 II

export HISTIGNORE="pwd:ls:ls –ltr:"

这种方法的效果是,历史记录不会记录这几个命令。

扩展阅读

15 个例子

忽然想到,这些扩展阅读也都是英文的啊.... 不知道各位看官有没有兴趣看呢?

本书简介:

  • Linux 进阶技巧
  • 巧妙的命令组合
  • Bash 某些技巧
  • 一共一百零一个(包括充数的)
  • 最后有个奖励章(额外技巧)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文