Linux调整命令历史方法详解
Linux系统中的bashhistory命令有助于记住你以前运行过的命令,并重复这些命令,而不必重新输入。
如果可以的话,你肯定会很高兴不用翻阅十几页的手册,每过一会再次列出你的文件,而是通过输入history查看以前运行的命令。在这篇文章中,我们将探讨如何让history命令记住你希望它记住的内容,并忘记那些可能没有什么“历史价值”的命令。
查看你的命令历史
要查看以前运行过的命令,你只需输入history。你可能会看到一长串命令。记忆的命令数量取决于在~/.bashrc文件中设置的名为$HISTSIZE的环境变量,但是如果你想保存更多或更少的命令,你可以根据你的需要改变这个设置。
要查看历史记录,请使用history命令:
$history
209uname-v
210date
211manchage
......
要查看将显示的最大命令数量:
$echo$HISTSIZE
500
你可以通过运行这样的命令来改变$HISTSIZE并使之永久化:
$exportHISTSIZE=1000
$echo"HISTSIZE=1000">>~/.bashrc
在为你保留多少历史记录和当你输入history时显示多少历史记录之间也有区别。$HISTSIZE变量控制显示多少历史记录,而$HISTFILESIZE变量控制在你的.bash_history文件中保留多少命令。
$echo$HISTSIZE
1000
$echo$HISTFILESIZE
2000
你可以通过计算历史文件中的行数来验证第二个变量:
$wc-l.bash_history
2000.bash_history
需要注意的是,在登录会话中输入的命令在注销前不会被添加到你的.bash_history文件中,尽管它们会立即显示在history命令输出中。
使用历史
有三种方法可以重发你在history中发现的命令。最简单的方法,特别是当你想重用的命令是最近运行的时候,通常是输入一个!后面跟上命令中足够多的首字母来唯一地识别它。
$!u
uname-v
#37-UbuntuSMPThuMar2620:41:27UTC2020
另一种简单的重复命令的方法是,只需按上箭头键,直到显示了该命令,然后按回车键。
另外,如果你运行history命令,并看到你想重新运行的命令被列出,你可以输入一个!后面跟着命令左边显示的序号。
$!209
uname-v
#37-UbuntuSMPThuMar2620:41:27UTC2020
隐藏历史
如果你想在一段时间内停止记录命令,你可以使用这个命令:
$set+ohistory
当你输入history时,你输入的命令不会显示出来,当你退出会话或退出终端时,它们也不会被添加到你的.bash_history文件中。
要取消这个设置,使用set-ohistory
要使它永久化,你可以把它添加到你的.bashrc文件中,尽管不使用命令历史记录通常不是一个好主意。
$echo'set+ohistory'>>~/.bashrc
要暂时清除历史记录,这样在输入history时只显示之后输入的命令,可以使用history-c(清除)命令:
$history|tail-3
209uname-v
210date
211manchage
$history-c
$history
1history
注意:在输入history-c后输入的命令不会被添加到.bash_history文件中。
控制历史
许多系统上的history命令的设置会默认包括一个名为$HISTCONTROL的变量,以确保即使你连续运行同一命令七次,也只会被记住一次。它还可以确保你在首先输入一个或多个空格后跟着的命令将从你的命令历史记录中忽略。
$grepHISTCONTROL.bashrc
HISTCONTROL=ignoreboth
ignoreboth的意思是“忽略重复的命令和以空格开头的命令”。例如,如果你输入这些命令:
$echotrythis
$date
$date
$date
$pwd
$history
你的history命令应该像这样报告:
$history
$echotrythis
$date
$history
请注意,连续的date命令被缩减为一条,以空格缩进的命令被省略。
忽略历史
要忽略某些命令,使它们在你输入history时不会出现,也不会被添加到你的.bash_history文件中,可以使用$HISTIGNORE设置。例如:
$exportHISTIGNORE=”history:cd:exit:ls:pwd:man”
这个设置将导致所有的history、cd、exit、ls、pwd和man命令从你的history命令的输出和.bash_history文件中被忽略。
如果你想把这个设置变成永久性的,你必须把它添加到你的.bashrc文件中。
$echo'HISTIGNORE="history:cd:exit:ls:pwd:man"'>>.bashrc
这个设置只是意味着当你回看以前运行的命令时,列表不会被你在查看命令历史记录时不想看到的命令所干扰。
记住、忽略和忘记过去的命令
命令历史记录很有用,因为它可以帮助你记住最近使用过的命令,并提醒你最近所做的更改。它还可以让你更容易地重新运行命令,特别是那些有一串参数但你不一定想重新创建的命令。定制你的历史设置可以让你对命令历史的使用变得更容易,更有效率。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。