linux怎么清除历史命令提示

等等,昨天晚上我还在想那个同事为啥突然删了好多聊天记录。
回到电脑上,顺手就清了下自己的bash历史,想着万一被别人看了多尴尬。
在虚拟机里敲了history -c,顺手又试了echo "" > ~/.bash_history,心里还嘀咕着这文件是不是真的清空了。
这时候突然想到,要是删了之后发现某个命令找不到了,这可咋办?而且我用的还是Ubuntu 2 0.04 ,跟同事的CentOS 7 系统还不一样呢。

linux如何查看命令历史记录

使用history命令查看Linux命令历史。
history5 显示最近5 条命令。
history-c清除当前会话历史。
history|grep"keyword"搜索含keyword的命令。
!1 00执行编号为1 00的命令。
.bash_history文件存储历史记录。
调整HISTSIZE管理保存数量。

linux下清空history中记录的历史命令

说实话,我在用Linux的时候,清理history记录这事儿真给我整过好几次懵。
你说的方法都挺对的,但我想跟你唠唠更具体的体验。

最直接的是用history -c,我上次用的时候是在一台CentOS 7 的系统上,Bash shell。
终端里敲一下这个命令,你立刻就能看到历史记录没了,再敲history命令,那列表直接清空。
不过你说的对,这玩意儿特别重要——它只清内存里的,磁盘上那些历史记录还在呢。
我有个朋友忘了这茬,结果重启终端后,他前一天删的密码命令又弹出来了,当时真是吓一跳。

有意思的是手动清理.bash_history文件。
我之前在Ubuntu上用过,先找到文件然后用vim清空。
按dd是逐行删,我试过一次,发现效率太低,最后直接用echo "" > ~/.bash_history,唰一下就空了。
再用cat ~/.bash_history确认,看到就一行空白字符,心里才踏实。
不过要注意,有些系统可能把.bash_history设成世界可读的,这种情况下最好先chmod 6 00 ~/.bash_history。

我遇到过一次特别有意思的情况。
在一个共享开发环境里,有个哥们用history -c后没清理文件,结果第二天另一个同事登录,直接cat ~/.bash_history把他上次的敏感命令全看到了。
后来我们团队规定,共享机器登录前必须手动清空历史文件,还顺带把文件权限都改了。
这让我意识到,历史清理跟文件权限管理得两手抓。

要说系统配置的影响,我遇到过HISTSIZE设得太小的情况。
在测试环境里,我开个长命令链,系统直接给我截断了,当时还挺烦人。
后来改了配置参数才好使。
还有HISTCONTROL,我之前为了省内存,设成ignorespace,结果空格开头的命令都不保存,搞得自己都搞混了。

总而言之,history -c是应急首选,彻底清理还得下功夫清.bash_history。
这事儿看着简单,但不同系统、不同配置下还真有各种花样。