[Linux]history命令用法详解

本文详细介绍了Linux中的history命令,包括其基本用法、选项解析,如清除历史(-c)、删除指定命令(-d)、显示最近的n条历史等。还探讨了如何调用历史参数以及与.bash_history文件的交互。此外,文章提到了相关环境变量如HISTSIZE、HISTFILE和HISTFILESIZE,以及如何通过HISTCONTROL设置历史记录行为。
摘要由CSDN通过智能技术生成

history命令

简介


基本

在Linux中,history命令是用于显示历史执行命令以及读取命令历史文件中的历史执行的命令到内存中,或者从内存中把执行命令的历史写入到保存历史执行命令的文件中的内部命令

语法:history (选项) (参数)

选项-c: 清空命令历史
-d n: 删除历史中指定的第n个命令
n: 显示最近的n条历史
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后


命令历史储存文件 .bash_history

储存命令历史的文件在

~/bash_history

当我们登陆shell的时候,系统会将保存在文件中的命令历史读取到内存中,所以我们直接键入 history 便可以查询命令历史。

[root@centos7 ~]# history   查看内存中命令历史记录
    1  history
    2  reboot
    3  init 3
    4  history
    5  ls
    6  cd
    7  history
[root@centos7 ~]# 

直接键入history查询当前内存中已存在的历史,那么这个时候.bash_history文件中的历史也是这样的吗?

[root@centos7 ~]# cat .bash_history  查看文件中命令历史记录
history
reboot
[root@centos7 ~]# 

很明显,在.bash_history中储存的命令历史截止到了reboot重启命令。

当计算机正常执行命令关闭、重启或者用户正常退出的时候系统便会将内存中的命令历史写入到.bash_history中去,当用户重新登陆后又会将之前储存在.bash_history文件中的命令历史读取到内存中。

[root@centos7 ~]# exit
logout
[root@centos7 ~]# cat .bash_history 
history
reboot
init 3
history
ls
cd
history
cat .bash_history
exit

重新登陆后便可以发现.bash_history文件中的命令历史已经更新了,截止到exit


选项

history -c

history -c命令用于清空命令历史记录。注意:这里只是清理内存中的历史记录在.bash_history中的命令记录不会被该命令清除,我将在下面做实例演示。

[root@centos7 ~]# history
    1  reboot
    2  init 3
    3  history
    4  ls
    5  cd
    6  history
    7  cat .bash_history
    8  exit
    9  cat .bash_history 
   10  history
   11  history -d 1
   12  history
[root@centos7 ~]# 

键入history后当前内存中的命令历史如上所示。

[root@centos7 ~]# history -c   清除内存中的命令历史记录
[root@centos7 ~]# history      查看内存中的命令历史记录
    1  history
[root@centos7 ~]# 

当键入history -c命令后再次键入history便可发现内存中的命令历史已经清空,当前命令历史只剩下history -c后的一条命令,那么现在.bash_history中的命令历史还在吗?

[root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值