Linux history命令詳解

 

history命令用於顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩衝區和將歷史命令緩衝區中的目錄寫入命令文件。html

該命令單獨使用時,僅顯示歷史命令,在命令行中,能夠使用符號!執行指定序號的歷史命令。shell

歷史命令是被保存在內存中的,當退出或者登陸shell時,會自動保存或讀取。在內存中,歷史命令僅可以存儲1000條歷史命令,該數量是由環境變量HISTSIZE進行控制vim

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    # 命令生效

image_thumb

查看history的緩存數量bash

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

1111111111

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

image_thumb[2]

使用最近一次使用的命令spa

[root@localhost ~]# !!

image_thumb[3]

使用第Num條命令命令行

[root@localhost ~]# !994

image_thumb[4]

顯示最近使用的某個特定命令3d

[root@localhost ~]# !echo

image_thumb[5][7]

得到上一條命令的參數code

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

image_thumb[6]

 

更改歷史記錄信息htm

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   (歷史記錄文件的命令數量,屬於用戶的變量)

相關文章
相關標籤/搜索