是否有一个应用程序可以存储命令列表供我选择和运行?

是否有一个应用程序可以存储命令列表供我选择和运行?

我发现我开始建立一个经常使用的 Linux 命令的长列表,并想知道是否有一个应用程序可以让我存储它们所有,然后在我需要时从列表中选择并运行一个?

答案1

使用时BASH,您可以按Ctrl+r执行反向搜索查看命令历史记录。例如,您可以按Ctrl+ r,然后键入“vim”以查看包含“vim”的最后一个命令。您可以再次按Ctrl+r查找倒数第二个命令,然后继续按Ctrl+r直到找到所需的命令。找到后,您可以按Enter执行该命令。

如果您希望在运行命令之前对其进行编辑,则可以使用方向键(LeftRight),这将使您退出反向搜索并允许编辑。

为了增强此功能,请确保允许在文件中存储许多命令。您可以通过在文件中~/.bash_history导出值来定义限制:HISTSIZE~/.bashrc

export HISTSIZE=10000

您可以确保每个唯一命令仅存储一次,出于多种原因,建议这样做,包括防止您不得不按Ctrl+r次数超过必要次数。再次将以下内容添加到~/.bashrc

export HISTCONTROL=ignoreboth

您可能还想调整 BASH 在同时打开多个终端时存储历史记录的方式,以确保来自多个终端的命令都存储起来,方法是看看这个答案

这是我在 Linux/BASH 上学到的最有用的知识之一,我希望您也觉得它有用。

答案2

history命令。它用于列出您使用过的命令。您可以使用 grep 进行过滤:

$ history | grep home

给出了我使用过的所有包含单词“home”的命令,例如:

 1188  cd ../home
 1519  more resources/home.php 
 1890  cd git/home
 1983  cd git/home
 2001  cd git/home/squeeze/
 2008  history | grep home

这让我选择一个并重新执行它:

$ !2001

cd git/home/squeeze在这种情况下相当于。

答案3

有多种方法可以做到这一点。首先,shell 中已经有一个内置的历史记录功能。使用updown键可以查看它,也Ctrl r可以搜索它。

另一个选择是使其成为别名~/.bashrc

第三,您可以将每个命令保存到其文件中,然后手动运行bash my_command

相关内容