几个跟ctrl有关的操作,很有爱,贴一下:

  1. 最常见的:^l,相当于clear命令清屏;
  2. 最有用的:^r,自动打开一个(reverse-i-search)`’: 的提示符,可以搜索之前的history,注意:搜索内容仅限于command,不包括option和file。不过我试验对于wget等命令,又可以搜索整行任意内容……汗
  3. 常用的一个系列:

    ^a,回到行首,写完一串命令后突然发现最前头要修改一下~ ^e,回到行尾,其实这两个最常用的情况我是在写for循环执行的时候; ^u,剪切从行首到当前光标的所有内容; ^k,剪切从当前光标到行尾的所有内容; ^y,粘贴刚才剪切的内容——在辛辛苦苦敲好一长串命令,却发现要先执行别的命令才行的时候,这三条操作就很有用了。 ^w,删除从当前光标到向左最近一个空格之前的内容; ^t,交换当前光标和光标左边字符的位置,这个一般不怎么用,就一个字符嘛,直接重写好了~~ ^p,执行上一条命令。


几个关于history的操作和配置,同样有爱,继续粘贴:

  1. 最常用的,看操作时间和扩容:HISTTIMEFORMAT=’%F %T ‘和HISTFILESIZE=2000、HISTSIZE=2000;
  2. 可能很有用的,HISTCONTROL=ignoredups或者erasedups甚至ignorespace:

    ignoredups连续执行的命令只记录一次,比方在做wget测试的时候,可能一口气就敲了十多次~~ erasedups哪怕不是连着执行的,也只记录一次; ignorespace如果在命令前加个空格,这条命令就不记录进history了~

  3. 更狠一点,有些太常用的命令懒得加空格,也不想记录,直接HISTIGNORE=”pwd:ls”
  4. 最狠的,history -c全删了~~

  1. 执行最近一次类似的命令:比如!tai
  2. 执行history里的第100条命令:!100
  3. 上一条命令:!!,另外的衍生物!!:n即上一条命令的第几个参数,^为第一个,$为最后一个。这两个情况可以简写成!^和!$
  4. 推论,最近一次类似命令的参数!tai:n