终端中的选择性命令历史记录?

在终端中,当您按下键盘时,您可以在按顺序查看之前给出的命令。 我想知道是否有办法只查看过去的命令 – 例如“ls -l”。 这样,如果命令列表是:

  1. ls -l -a
  2. cmake的
  3. cd~ /桌面
  4. cmake的

一种只需编写“ls”和制表符或任何组合键击的方法,弹出过去的命令,以“ls”开头输入终端

谢谢,

它不会仅以ls开头显示内容,但您可以通过Ctrl-R ls对历史记录进行向后搜索。 重复Ctrl-R以查找下一个匹配项。

有时这样做很有用……

使用ssh连接到另一台机器:

开始打字

 ssh 

使用PgUp键,你的ssh最后一次使用…再次按PgUp ,它会给你下一个,依此类推。 喜欢它?

你可以用这个:

编辑.bashrc( vi /home//.bashrc )并添加:

 $if Bash # Search history back and forward using page-up and page-down "\e[5~": history-search-backward "\e[6~": history-search-forward # Completion set match-hidden-files off set page-completions off set completion-query-items 350 set show-all-if-ambiguous on $endif 

这仅为您的用户终端添加此function。 您还必须编辑其中一个根才能拥有相同的内容:您可以从wiki中遵循本教程 ,您无法做错,还有很多额外的东西可以改善您的终端体验…

要查看命令历史记录,请使用以下命令:

 $ history 

如果您只想看到过去的命令以例如“ls”开头,我认为我使用:

 $ history | grep ls 

当然输出将包含某些东西而不是命令,但包含“ls”字符,但我认为它可以提供帮助。

实现你想要的最简单的方法是! 。 例如,为了执行你最后执行的ls ,你可以做一个!ls 。 查看以下日志,看看这是否是您所需要的:

 nits@nits-excalibur:~$ ls /mnt/Storage_1/Music/ Music I Music II Music III Music IV Music V Music_VI nits@nits-excalibur:~$ cd Documents/ nits@nits-excalibur:~/Documents$ top nits@nits-excalibur:~/Documents$ !ls ls /mnt/Storage_1/Music/ Music I Music II Music III Music IV Music V Music_VI 

历史记录位于〜/ .bash_history此外,为了搜索您的bash历史记录,请按ctrl + r然后键入您要查找的命令的开头。

和http://ubuntuforums.org/showthread.php?t=204382 for Handy命令行别名和技巧