📜  命令行历史搜索 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:07:31.392000             🧑  作者: Mango

命令行历史搜索 - Shell-Bash

在Shell-Bash中,我们经常需要重复执行一些命令,但是当我们长时间使用Shell时候,可能会忘记之前执行的某个命令,或者忘记它的具体语法,那么该怎么做呢?

我们可以使用 Shell-Bash 提供的历史搜索功能,输入关键词即可快速搜索出之前历史记录中的相关命令。

使用 history 命令查看历史记录

在 Shell-Bash 中,我们可以使用 history 命令来查看历史记录。在执行该命令后,终端会返回之前执行过的所有命令列表,每个命令对应的序号标记在开头。

$ history
1  ls
2  cd
3  mkdir test
4  touch test/a.txt
使用 ! 命令执行特定的历史记录命令

在 Shell-Bash 中,我们可以使用 ! 命令来执行历史记录中某个命令。

通过序号执行命令

例如,当我们想要执行第 3 条历史记录对应的命令时,可以使用以下命令:

$ !3
通过关键字执行命令

当我们忘记之前执行的命令对应的序号时,可以使用以下格式来查找之前的命令:

$ !关键字

例如,我们执行过 mkdir test 命令,但是忘记其具体序号,此时我们可以使用以下命令来执行该命令:

$ !mkdir

终端会自动搜索之前的历史记录,找到第一个包含 mkdir 关键字的命令。

使用 Ctrl + R 来搜索并执行符合条件的历史命令

使用 Ctrl + R 快捷键,可以立即进行命令历史搜索,并快速找到并执行之前执行过的命令。

具体步骤如下:

  1. 在 Shell 终端中,按下 Ctrl + R 键。
  2. 输入关键字,关键字可以是其中的某些字符。
  3. 按下 Ctrl + R 键继续搜索,或者按下 Enter 键执行搜索结果中的命令。

例如,我们想要搜索并执行之前执行过的包含 git 关键字的命令,可以按下 Ctrl + R 键,并输入 git。终端会自动搜索出之前包含 git 关键字的命令,我们可以使用 Ctrl + R 来继续向上搜索,或者使用 Enter 来执行搜索结果中的命令。

结论

在 Shell-Bash 中,通过使用历史记录搜索功能,我们可以更加方便地查找并执行之前执行过的命令。无需记住大量的命令序号,只需要输入关键字即可快速找到所需命令。

我们可以使用 history 命令来查看历史记录,使用 ! 命令来执行特定的历史记录命令,使用 Ctrl + R 来搜索并执行符合条件的历史命令,极大地提高了命令行的效率。