Linux下history的用法

Linux下history的用法

如果你经常使用Linux命令,那么使用history命令无疑会提升你的工作效率。
history命令主要用于显示历史指令记录内容, 通过快捷键快速下达历史纪录中的指令,

-c: 清空命令历史

清空内存中的历史记录

-d offset: 删除历史中指定的第offset个命令

例如 history -d 153 删除第153条记录的命令

n:显示最近的n条历史

例如:history 2 显示最近的2条历史命令

-a: 追加本次会话新执行的命令历史列表至历史文件

把当前的内存记录加到历史文件中

-r: 读历史文件附加到历史列表

和-a相反

-w: 保存历史列表到指定的历史文件

默认和-a相同,可指定生成文件,例如 history -w 111.txt

-n: 读历史文件中未读过的行到历史列表

多终端时历史命令的不同步

-p: 展开历史参数成多行,但不存在历史列表中

执行命令不产生历史,例如history -p `id` `hostname`

-s: 展开历史参数成一行,附加在历史列表后

伪造历史命令,例如history -s “rm -rf /*”

与命令相关的系统变量

HISTCMD 记录的是当前命令在历史命令中的编号

HISTFILESIZE定义了在 .bash_history 中保存命令的记录总数,可以理解为.bash_history文件中最多只有HISTFILESIZE行

HISTCONTROL 如果设置了 ignorespace 值,以一个空格符开头的行将不会进入历史清单。如果设置了 ignoredups 值,那和前一个历史行重复的行不会进入历史清单。值 ignoreboth 结合了这两个选项

HISTSIZE定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行

HISTFILE 保存命令历史的文件,默认是用户家目录下的.bash_history文件,也可以指定其它文件

上述变量可以在~/.bashrc,或者/etc/profile中定义。

HISTTIMEFORMAT显示时间戳一般格式为HISTTIMEFORMAT=”%F %T”

History命令常用快捷键

重复前一个命令,有4种方法

重复前一个命令使用上方向键,并回车执行

按!! 并回车执行

输入!-1 并回车执行

按Ctrl+p并回车执行

!:0 执行前一条命令(去除参数)

Ctrl + n 显示当前历史中的下一条命令,但不执行

Ctrl + j 执行当前命令

!n 执行history命令输出对应序号n的命令

!-n 执行history历史中倒数第n个命令

!string 重复前一个以“string”开头的命令

!?string 重复前一个包含string的命令

!string:p仅打印命令历史,而不执行

!$:p 打印输出!$ (上一条命令的最后一个参数)的内容

!*:p打印输出!*(上一条命令的所有参数)的内容

^string删除上一条命令中的第一个string

^string1^string2将上一条命令中的第一个string1替换为string2

!:gs/string1/string2将上一条命令中所有的string1都替换为string2

使用up(向上)和down(向下)键来上下浏览从前输入的命令

ctrl-r来在命令历史中搜索命令

(reverse-i-search)`’:

Ctrl+g:从历史搜索模式退出

!$ 表示要重新调用前一个命令中最后一个参数

Esc, .(点击Esc键后松开,然后点击. 键)

Alt+ .(按住Alt键的同时点击. 键)

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94463

(0)
七杀七杀
上一篇 2018-04-01 21:02
下一篇 2018-04-01 21:16

相关推荐

  • 新开始,新航程

           每一个夏天都是变动的季节,这个夏季我毕业了。大学最后的时光是在实验室度过的,每天都被瓶瓶罐罐所包围,鼻子里不时的飘进乙酸乙酯的香味,研究完了生物柴油的催化,是时候该为自己的未来找一条出路了。         大二的时候出于对计算机的着迷,一不小心点进了51cto,从此就走上了不归路。从计算机网络到linux,再到mysql,我在这个世界里乐此不…

    Linux笔记 2018-07-21
  • linux网络基础

    无线网络标准: 中国:早期wapi后期wapi+wifi 国际:wifi 无线模式802.11 a/b/n/ac/bn,以太模式IEEE  802.3 网络施工模式: ethtool eth0 单工:单向传输 双工:双向传输 全双工:同时双向 半双工:轮流双向 集线器Hub :由于网线信号电流强度受距离影响,所以集线器很好的提供了电能 冲突域:同个网域中发送…

    Linux笔记 2018-05-07
  • 课堂实验

    实验:针对不同的用户设置不同的共享目录和权限 vim /etc/samba/smb.conf[global]workgroup = WANGGROUPsecurity = usernetbios name = smbsrv7passdb backend = tdbsamlog file = /var/log/samba/log.%Ilog level = 2…

    2018-07-01
  • Linux基础知识

    Linux是什么? 想要了解linux,我们就需要先介绍一下计算机。什么是计算机?计算机的功能和组成部分? 计算机是什么呢?它是一种能接收和存储信息 ,并按照存储在其内部的程序对海量数据进行自动、高速地 处理,然后把处理结果输出的现代化智能电子设备。 它的基本功能就是接收用户输入的指令,通过CPU的数学与逻辑单元运算处理后,产生或者存储成有用的信息。 计算机…

    2018-05-10
  • sed命令

    sed命令详解

    2018-04-16
  • 初识VIM和正则表达式

    vim和正则表达式练习

    Linux笔记 2018-05-31