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

jlo*_*jlo 9 command-line

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

  1. ls -l -a
  2. 制作
  3. cd ~/桌面
  4. 制作

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

谢谢,

poo*_*lie 14

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


man*_*k13 8

有时拥有这个很有用...

例子

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

开始打字

ssh
Run Code Online (Sandbox Code Playgroud)

使用PgUp密钥,您的 ssh 会以您上次使用的方式结束……再按PgUp一次,它会为您提供下一个,依此类推。喜欢它?

你可以使用这个:

编辑您的 .bashrc ( vi /home/<yourfolder>/.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
Run Code Online (Sandbox Code Playgroud)

这只会向您的用户终端添加此功能。您还必须编辑根目录之一才能具有相同的内容:您可以从 wiki遵循本教程,您不可能做错任何事情,还有很多额外的东西可以改善您的终端体验...


小智 5

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

$ history
Run Code Online (Sandbox Code Playgroud)

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

$ history | grep ls
Run Code Online (Sandbox Code Playgroud)

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