前言
在工作中,经常会需要多次重复某一个命令,或者需要查看之前执行过什么命令,那么都少不了history这个命令,下面一起来看看吧。
一、history命令介绍
history的英文单词来源于它自己,主要功能是用于显示与管理历史记录。linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们,也可以对其命令进行修改和删除操作。
二、语法及参数
1)用help或man查看history命令
语法:history 【参数】/ history 【参数】文件
[root@localhost ~]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
选项:
-c 删除所有条目从而清空历史列表。
-d 偏移量 从指定位置删除历史列表。
-a 将当前绘画的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中
中
-w 将当前历史写入到历史文件中
并追加到历史列表中
-p 对每一个 ARG 参数展开历史并显示结果
而不存储到历史列表中
-s 以单条记录追加 ARG 到历史列表中
2)命令的常用参数:
-a | 写入命令记录 |
-c | 清空命令记录 |
-d | 删除指定序号的命令记录 |
-n | 读取命令记录 |
-r | 读取命令记录到缓冲区 |
-s | 将指定的命令添加到缓冲区 |
-w | 将缓冲区信息写入到历史文件 |
三、参考实例
1)显示历史记录,且再次执行其中的一个命令;
[root@localhost ~]# history
1 rpm -ivh httpd
2 rpm -ivh http
3 which rpm
4 rpm -qa | wc -l
5 which rz
6 rpm -qf /usr/bin/rz
7 rpm -e lrzsz --nodeps
8 which rz
9 rpm -p
10 rpm repolist
[root@localhost ~]# !3 #!数字
which rpm
/usr/bin/rpm
[root@localhost ~]# vim /etc/bashrc #ctrl+r 快捷键从下往上搜索,右方向键确定
(reverse-i-search)`vim': vim /etc/bashrc
[root@localhost ~]# !cd #!字符串
cd ~
有三种方式可以再次执行历史记录的命令:
- 第一个方式是:!数字
- 第二个方式是: ctrl+r 快捷键从小往上搜索,右方向键确定
- 第三个方式是: !字符串
2)打印3行历史记录内容;
[root@localhost ~]# history 3
46 history --help
47 history
48 history 3
3)将本次缓冲区信息写入到历史文件中; 历史记录是有一个本地用户文件的(~/.bash_history)
将文件给删除了,文件内的内容也一并删除了,不过用户重新登入会自动生成一个相同文件出来。
[root@localhost ~]# history -w
[root@localhost ~]# tail -n 3 .bash_history
history
history 3
history -w
4)将历史文件中的信息读入到当前缓冲区中;
[root@localhost ~]# history -r
[root@localhost ~]# history
1 yum grouplist
2 df -h
3 yum grouplist
5)将本次缓冲区信息追加写入到历史记录中;
[root@localhost ~]# history -a
6)清空本次缓存区;
[root@localhost ~]# history -c
[root@localhost ~]# history
1 history
7)如果要设置一个用户的密码,但是又担心显示在历史记录会被看到,可以用-d删除;
[root@localhost ~]# useradd user1
[root@localhost ~]# echo "123456" | passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# history 2
4 echo "123456" | passwd --stdin user1
5 history 2
[root@localhost ~]# history -d 4
[root@localhost ~]# history 3
4 history 2
5 history -d 4
6 history 3
8)因为history默认只能保留1000条历史记录的数量,所以若要增加数量到2000,可以通过修改变量写入到文件里;
[root@localhost ~]# echo $HISTSIZE
1000
[root@localhost ~]# vim .bash_profile
[root@localhost ~]# tail -n1 .bash_profile
export HISTSIZE=2000
[root@localhost ~]# source .bash_profile
[root@localhost ~]# echo $HISTSIZE
2000
[root@localhost ~]#
总结
history遇到重复执行的命令,可以继续用来执行,并且这个命令的参数上不会太多,只有几个常用到的。
如果觉得内容还行,请一定要点个赞再走,谢谢!