history命令详解

   有效地使用命令历史机制将会使效率获得极大提升。
history:
   保存你输入的命令历史。 可以用它来重复执行命令。
   history [-c] [-d offset] [n]
   history -anrw [filename]
   history -ps arg [arg…]
    -c: 清空命令历史
    -d offset: 删除历史中指定的第offset个命令
    n: 显示最近的n条历史
    -a:append, 追加本次会话新执行的命令历史列表至历史文件
    -n: 读历史文件中未读过的行到历史列表
    -r: 读历史文件附加到历史列表
    -w: 保存历史列表到指定的历史文件
    -p: 展开历史参数成多行,但不存在历史列表中
    -s: 展开历史参数成一行,附加在历史列表后(伪造命令历史)
1、四种方法快速执行之前的命令
   1)用向上键查看上条命令,按回车执行。 
   2)在命令行中输入!!并按回车。 
   3)在命令行中输入!-1并按回车。 
   4)按Ctrl+p显示上条命令,按回车执行
2、用Ctrl + r搜索历史命令
   按下Ctrl +r然后输入关键字。
   在命令行提示符下按下Ctrl+r,终端将显示如下提示reverse-i-search:
   (reverse-i-search)red: cat/etc/redhat-release 

   当看到你要的命令后按回车键,就可以重新执行这条命令了 

history命令详解

   ctrl+g 从历史搜索模式中退出
3、执行历史命令中的特定命令

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

history命令详解

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

history命令详解

4、使用特定字符执行历史命令
   !string 重复前一个以“ string” 开头的命令

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

history命令详解

   !string:p 仅打印命令历史,而不执行
   !$:p 打印输出上一个命令的内容而不执行
   !:p 打印输出 !( 所有参数) 的内容(?)
   ^string 删除上一条命令中的string
   ^string1^string2 将上一条命令中的第一个string1替换为string2
   !!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
5、命令历史相关的环境变量
   HISTSIZE: 命令历史记录的条数(默认最多1000条)
   HISTFILE: 指定历史文件, 默认为~/.bash_history(当前家目录下)
   HISTFILESIZE: 命令历史文件记录历史的条数(默认最多1000条)
   HISTTIMEFORMAT=“%F %T “ 显示时间
   HISTIGNORE=“str1:str2:… “ 忽略包含string1,string2历史
   控制命令历史的记录方式:
     环境变量: HISTCONTROL
     ignoredups 默认, 忽略重复的命令, 连续且相同为“ 重复”
     ignorespace 忽略所有以空白开头的命令
     ignoreboth 相当于ignoredups, ignorespace的组合
     erasedups 删除重复命令
     export 变量名=”值“(定义系统变量或者环境变量)
     存放在 /etc/profile 或 ~/.bash_profile
6、要重新调用前一个命令中最后一个参数
   1)!$ 表示
   2)Esc, .( 点击Esc键后松开,然后点击 . 键)
   3)Alt+ .( 按住Alt键的同时点击 . 键)
7、注意
   1)登录shell时,会读取命令历史文件(~/.bash_history)中记录下的命令;
   2)登录进shell后新执行的命令只会记录在缓存中,这些命令会用户退出时“ 追加” 至命令历史文件中。

原创文章,作者:张 洁,如若转载,请注明出处:http://www.178linux.com/71733

(2)
张 洁张 洁
上一篇 2017-03-26
下一篇 2017-03-26

相关推荐

  • Linux简介和基础

    一、系统和硬件 无论是Linux、OS X、Windows操作系统,他们都是由以下部分组成(分层结构): 最底层:硬件 底层之上:将硬件的接口抽象成为系统调用(kernel) 再之上:库 再此之上为:应用程序 程序的运行可以有两种方式: 1、开机自动启动运行 2、用户通过交互式接口登陆或者连接系统上去,来手动运行程序 二、终端: 1、物理终端:我们可以将显示…

    Linux干货 2017-09-02
  • KVM 快照管理

    1. 快照分类 2. 创建快照的方式     2.1 内置快照         2.1.1 使用 qemu-img 命令:关机状态下         2.1.2 使用 virsh 命令(qemu-monitor…

    Linux干货 2016-02-14
  • Linux 命令行返回状态

    linux 执行命令后会返回一个状态码 命令执行成功返回0: 当删除一个文件并删除成功时返回的状态码为0 [root@localhost 1]# rm -rf 1_1 [root@localhost 1]# echo $? 0 命令执行失败返回1-255 当把 文件夹 1_1 重命名为1_2失败后状态码为1 [root@localhost 1]# mv 1_…

    Linux干货 2017-08-28
  • 马哥教育21期网络班—第六周课程+练习—-成长进行时

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/rc.sysinit&nbs…

    Linux干货 2016-08-03
  • 文本编辑工具vim

                             vim +#: 打开文件直接处在#行 +/PATTERN:打开文件直接处在第一次匹配到行 vim + file :打开文件直接处在最后行 vim –b file :以二进制打开文件…

    Linux干货 2016-08-12
  • M20-1权限作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? [root@centos7 testdir]# ls -ld /testdir/ drwxr-xrw-. 3 root root 27 Aug  5 0…

    Linux干货 2016-08-05

评论列表(1条)

  • renjin
    renjin 2017-04-05 10:29

    history的用法写的很详细,包括一些调用命令历史的方法都写的挺详细的,不过排版可以再好一些