Linux history命令的几个使用小技巧

乐清SEO_开发应用_linux_ 乐清SEO2021-04-09 转载自:

Linux中的history命令很常用,无论是对管理员,普通用户还是黑客。对于普通用户来说可以用该命令查看之前都执行了什么命令,可以用CTRL+R来翻找太长的命令话,或者用!cmd命令,或者直接执行history命令来学习其他人执行了什么命令,都是写什么意思。对于黑客来说,history同样是非常有用的命令,比如说这么一条命令:
 

复制代码

代码如下:


root:\> mysql –h198.168.0.1 –uroot –p1234 


最重要的东西,数据库的密码就被黑客给破译了!所以对管理员来说,一项很重要的工作就是管理history命令了,对管理员来说,常用的几个命令如下:

 

用c选项清除所有的历史命令
 

复制代码

代码如下:


root:\> history –c 


用HISTSIZE禁用history

 

如果你想禁用history,又不让bashshell记录你的命令,像下面那样把HISTSIZE设为0即可。
 

复制代码

代码如下:


root:\> export HISTSIZE=0 


用HISTSIZE控制历史命令的总数
把下面的两行添加到.bash_profile然后重新登录bash(或者用source .bash_profile),值设置小一点!

复制代码

代码如下:


root:\> vi ~/.bash_profile 
HISTSIZE=100 
HISTFLESIZE=100 


其他比较有用的命令罗列如下: 

复制代码

代码如下:


root:\> export HISTCONTROL=ignoredups # 使用HISTCONTROL来消除命令历史中的连续重复条目 
root:\> export HISTCONTROL=erasedups # 使用HISTCONTROL在整个历史中去除重复命令 
root:\> export HISTCONTROL=ignorespace # 使用HISTCONTROL强制history忽略某条特定命令(这里是空格) 
root:\> export HISTIGNORE=“pwd:ls:” # 存储历史命令时忽略特殊命令,这里的话pwd,ls就不会存储了 
root:\> export HISTTIMEFORMAT='%F %T ' # 使用HISTTIMEFORMAT在历史中显示TIMESTAMP 
root:\> history | more 
1 2008-08-05 19:02:39 service network restart 
2 2008-08-05 19:02:39 exit 
3 2008-08-05 19:02:39 id 
4 2008-08-05 19:02:39 cat /etc/redhat-release