bash 历史记录_这些提示使Bash历史记录更加有用

bash 历史记录

运行Bash的Linux终端具有内置的历史记录,您可以用来跟踪最近的操作。 要查看您的Bash会话的历史记录,请使用内置的命令history


   
   
$ echo "foo"
foo
$ echo "bar"
bar
$ history
  1   echo "foo"
  2   echo "bar"
  3   history

与大多数命令一样, history命令不是文件系统上的可执行文件,而是Bash的功能。 您可以使用type命令来验证这一点:


   
   
$ type history
history is a shell builtin

历史控制

Shell历史记录中的行的上限由HISTSIZE变量定义。 您可以在.bashrc文件中设置此变量。 以下将您的历史记录设置为3,000行,此后,最旧的行被删除以为最新命令腾出空间,该命令位于列表的底部:

 export HISTSIZE = 3000 

还有其他与历史相关的变量。 HISTCONTROL变量控制存储什么历史记录。 您可以通过将Bash放在.bashrc文件中来强制Bash排除以空格开头的命令:

 export HISTCONTROL = $HISTCONTROL :ignorespace 

现在,如果键入以空格开头的命令,该命令将不会记录在历史记录中:


   
   
$ echo "hello"
$     mysql -u bogus -h badpassword123 mydatabase
$ echo "world"
$ history
  1   echo "hello"
  2   echo "world"
  3   history

您也可以避免重复输入:

 export HISTCONTROL = $HISTCONTROL :ignoredups 

现在,如果您键入两个命令,一个接一个,则历史记录中只会出现一个:


   
   
$ ls
$ ls
$ ls
$ history
  1   ls
  2   history

如果您同时喜欢这两种忽略,则可以使用ignoreboth

 export HISTCONTROL = $HISTCONTROL :ignoreboth 

从历史记录中删除命令

有时您会犯一个错误,并在shell中键入一些敏感内容,或者您​​只是想清理历史记录,以便它更准确地代表您使某件东西正常工作所采取的步骤。 如果要从Bash的历史记录中删除命令,请使用-d选项和要删除的项目的行号:


   
   
$ echo "foo"
foo
$ echo "bar"
bar
$ history | tail
  535   echo "foo"
  536   echo "bar"
  537   history | tail
$ history -d 536
$ history | tail
  535   echo "foo"
  536   history | tail
  537   history -d 536
  538   history | tail

要停止添加history条目,可以在命令之前放置一个space ,只要您在HISTCONTROL环境变量中具有ignorespace


   
   
$   history | tail
  535   echo "foo"
  536   echo "bar"
$   history -d 536
$   history | tail
  535   echo "foo"

您可以使用-c选项清除整个会话历史记录:


   
   
$ history -c
$   history
$

历史课

根据需要使用历史记录会话,并明智地行使对历史的控制权。 快乐的历史黑客!

翻译自: https://opensource.com/article/20/6/bash-history-control

bash 历史记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值