Linux中history配置及使用技巧
前言
在Linux中,我们可以通过history来查看历史命令,用来确认在某个时刻使用了哪个命令。但是,history的默认的,只会输出命令的序号以及命令。这时我们就需要对history进行一些配置,让它报告命令执行的具体时间。下面就是关于history的配置方法以及其他操作。
一、history显示具体的时间
1.打开变量配置文件
vim /root/.bashrc
或
-
vim /etc/bashrc 或者 vim /etc/profile
-
#这里可以修改所有用户
2.配置history的变量
在.bashrc中追加下列语句(意为让history显示时间戳 ){还可在变量中加入$(whoami),即可显示使用命令的用户 }
export HISTTIMEFORMAT="%Y-%m-%d "
或
export HISTTIMEFORMAT='%F %T '
或
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami` "
或
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `who am i | awk '{print $1,$5}'` "
3.让配置好的变量生效
source .bashrc
4.成功后,输入history显示格式,如下
或
二、history设置历史命令记录数
实际上history命令查看的历史命令记录条数是有数目限制的,我们可以通过配置,让它保存我们想要保存的操作命令的数量。
1.打开变量配置文件
vim /root/.bashrc
2.设置历史命令记录数
在.bashrc中追加下列语句(意为保存1000条记录)
export HISTSIZE=1000
3.让配置好的变量生效
source .bashrc
三、指定不同终端执行的命令都存储在同一个文件中
在Linux中可以开启多个终端,因此会产生不同终端的历史记录,如果要查看对应终端的历史命令,就必须进入对应的终端中,进行查看。我们可以配置让不同终端执行的命令都存储在同一个文件中,我们只要查看这个文件,就能知道某个终端执行了某些命令。
1.打开变量配置文件
vim /root/.bashrc
2.指定不同终端执行的命令都存储在同一个文件中
在.bashrc中追加下列语句(意为将不同终端执行的命令都存储在/root/.commandline_warrior中)
export HISTFILE=/root/.commandline_warrior
3.让配置好的变量生效
source .bashrc
四、忽略重复命令
同上,再次追加
export HISTCONTROL=ignoredups
五、多个终端同时操作时,避免命令覆盖,采用追加方式
同上,再次追加
shopt -s histappend
六、实时写入
实际上history的历史命令是写入.bash_history 中的。 ~/.bash_history 记录的是前一次登陆所运行过的命令,而本次登陆所运行的命令都被缓存在内存中,当退出系统后,本次的命令记忆才会记录到 .bash_history 中。
同上,再次追加(意为实时的记录入文件)
PROMPT_COMMAND=’history -a’
七、设置记录历史的文件的大小
同上,再次追加
export HISTFILESIZE=450
八、完全清除命令执行操作的历史记录
不建议执行
1.清理历史记录(只是清理了表层,可在.bash_history找到回)
history -c
2.清理记录历史的记录文件内容
echo " " > .bash_history
3.如有配置不同终端执行的命令存储文件
echo " " > 不同终端执行的命令存储文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!