红联Linux门户
Linux帮助

Linux学习笔记:命令行记忆及history命令的使用

发布时间:2007-06-03 11:04:10来源:红联作者:exchanged
  Linux默认使用的是bash shell。我当然也是学习bash,因为我确实找不出任何理由来使用其它的Shell,呵呵,虽然每一种都是非常优秀的。

  当你在shell(控制台、终端随便叫)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,当然你可以更改这个值。

  使用history命令来显示列表,可以跟一个整数表示希望显示最后的多少条命令。如下:

  $ history 10
   526 ls web/
   527 clear
   528 ls -a
   529 history 10
   530 date
   531 make -v
   532 sudo apt-get --help
   533 history 10
   534 gcc -v
   535 history 10

  每条命令前都有一个序号标示,你可以使用下面的方法回忆出以前执行过的命令。

  !n 这个n表示序号,假如你想重新执行第528条命令ls -a,那么你可以使用!528

  !! 这将会重新执行上一条命令

  !?String? 这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。比如你输入 !?gc? 那第534条命令gcc -v就会执行。

  fc n 这个n表示某个历史命令的序号,这将打开一个文本编辑窗口并显示这条命令。然后你可以编辑修改这条命令,让它满足你的需要。当你退出这个编辑窗口时,该命令就会得到执行。

  除了使用history命令,你也可以使用小键盘上的上下方向键来获取上一条执行以及后一条命令。这可以让我们很方便地编辑前面的某一条命令,而不用重复地输入类似的命令。

  另外一般Shell都会与Vi或者Emacs进行?定,这样我们就可以在Shell窗口中使用强大的Vi或者Emacs的按键组合,这也可以大大提高我们输入和使用命令的效率。对于Vi和Emacs,我还没有学习,所以就不好在这里多说什么了。就像上面的调出历史命令,其实还可以使用很多快捷键组合。

  要在Shell中?定Vi或者Emacs的按键,可以在.bashrc文件中修改。大概是set -o vi,这个以后我应该还会再说的。好了,关于历史命令及history的使用大致就是这些了。
文章评论

共有 5 条评论

  1. supperman_009 于 2010-01-29 14:59:09发表:

    一般只用history -c

  2. duo2752 于 2010-01-28 17:41:20发表:

    history的确不错哦

  3. cash-m 于 2010-01-19 17:24:15发表:

    引用:
      Linux默认使用的是bash shell。我当然也是学习bash,因为我确实找不出任何理由来使用其它的Shell,呵呵,虽然每一种都是非常优秀的。

      当你在shell(控制台、终端随便叫)中输入并执行命令时,shell会 ...
    exchanged 发表于 2007-6-3 11:04

    record !!!!!

  4. Skill 于 2007-06-03 17:04:56发表:

    顶一把

  5. xiayousen 于 2007-06-03 12:10:52发表:

    呵呵,很好呀