Linux命令


history命令​用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。

该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号​​!​​执行指定序号的历史命令。

历史命令是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由​环境变量​​HISTSIZE​​进行控制

history常见命令参数

-c:清空当前历史命令;
-a:将历史命令缓冲区中命令写入历史命令文件【/root/.bash_history】;
-r:将历史命令文件中的命令读入当前历史命令缓冲区;
-w:将当前历史命令缓冲区命令写入历史命令文件中【/root/.bash_history】;
n:打印最近的n条历史命令
#  history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史
!+字母:调出最近使用一次以此字母开头的命令
!!: 表示最近使用的一次操作的命令
!+数字:表示调出历史记录的几条命令
!-数字:调出最近的几条命令

常用的命令展示

历史命令显示执行时间【默认只显示序号和命令】

# 临时生效
[root@localhost ~]# export HISTTIMEFORMAT='%F %T'
[root@localhost ~]# echo $HISTTIMEFORMAT
[root@localhost ~]# history 2
# 永久生效
[root@localhost ~]# vim /root/.bash_history
--->  添加 export HISTTIMEFORMAT='%F %T'
source /root/.bashrc    # 命令生效

Linux history命令详解_bash

查看history的缓存数量

# 直接查看变量[root@localhost ~]# echo $HISTSIZE     
# 查看文件内容
[root@localhost ~]# cat /etc/profile | grep 'HISTSIZE'注意:HISTSIZE=0,表示禁用history

Linux history命令详解_命令缓冲区_02

查看最近10条命令
[root@localhost ~]# history 10

Linux history命令详解_bash_03

使用最近一次使用的命令

[root@localhost ~]# !!

Linux history命令详解_历史记录_04

使用第Num条命令

[root@localhost ~]# !994

Linux history命令详解_命令缓冲区_05

显示最近使用的某个特定命令

[root@localhost ~]# !echo

Linux history命令详解_Linux命令_06

获得上一条命令的参数

[root@localhost ~]# ls sun.txt 
[root@localhost ~]# cat !$

Linux history命令详解_命令缓冲区_07


更改历史记录信息


echo $HISTSIZE

export $HISTSIZE=500

history -c   清除所有的历史记录

history -d 212  清除212行的命令数据


永久生效:


echo "export TMOUT = 300" >> /etc/profile

echo "export $HISTSIZE=500" >> /etc/profile

echo "export $HISTFILESIZE=500" >> /etc/profile   只有500历史记录

source /etc/profile  永久生效  (source == .)

注意: cat ~/.bash_history   (历史记录文件的命令数量,属于用户的变量)




作者:​​小a玖拾柒​​​ ​

-------------------------------------------

个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~

本文版权归作者【​​小a玖拾柒​​​】,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!