history命令 – 显示与处理历史命令
history
命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
如果你经常使用Linux命令,那么使用history
命令可以有效地提升你的效率。
语法比较简单:
1
| $ history [OPTIONS] [..]
|
常用参数:
-a
将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件
-c
清空当前历史命令列表
-d
删除历史命令列表中指定序号的命令
-n
从命令历史文件中读取本次Shell会话开始时没有读取的历史命令
显示所有的历史命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| $ history
1 sudo apt get update 2 sudo apt update 3 sudo apt upgrade 4 sudo apt install vim 5 ls 6 pwd 7 cd 8 ls 9 sudo apt install vim 10 sudo apt search pgplot 11 bash go.sh 12 sudo apt install zsh 13 bash down.sh 14 exit 15 echo $PS1 16 bash 17 exit 18 sh test.sh 19 bash 20 exit 21 rsync -rv --progress user@192.168.1.123:~/data1/ . 22 rsync -rv --progress user@192.168.1.123:~/src/ . ......
|
列出最近的几条命令
history
后面跟上数字,就可以列出最近的几条命令:
1 2 3 4
| $ history 3 8540 pwd 8541 echo $PATH 8542 git status
|
删除部分命令
可以通过-d
参数来删除某一条或者某些历史命令,支持正则表达式
1 2 3 4 5
| $ history -d 35
$ histor -d 3{1..9}
|
删除全部命令
如果登陆某些调试机器,后面将不在使用,考虑到安全性,可以删除操作过的所有历史,通过-c
参数,即clear
的意思。
此时将没有任何历史操作。
进阶 - 如何获取使用的命令及频率
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $ history | awk 'BEGIN {FS="[ \t]+|\\|"} {print $3}' | sort | uniq -c | sort –nr
967 ls 507 cd 199 vim 199 python 165 cp 152 less 105 mv 95 rm 94 ll 90 echo 85 bash 72 cat 66 apt 59 pwd 51 mkdir ...
|