HSTR-轻松查看,导航,搜索和管理命令行历史记录

时间:2020-03-21 11:45:09  来源:igfitidea点击:

我们是否正在寻找查找最近使用的命令的简便方法?
我们是否讨厌一遍又一遍地键入一些长命令?
我们是否要在SHELL中管理和添加收藏夹和常用命令的书签?
好吧,无处可寻。
尝试使用HSTR免费和开源实用程序来查看,导航,搜索和管理命令行历史记录。
当然,我们可以使用向上/向下箭头键或者使用CTRL-R(反向搜索)来搜索命令行历史记录,然后键入搜索词以在历史记录中查找最近使用的命令。
但是,Hstr比CTRL-R容易得多。

安装HSTR

对于Arch Linux及其派生产品,Hstr在AUR中可用。

因此,Arch用户可以使用任何AUR帮助器工具(如Yay)进行安装。

$yay -S hstr-git

CentOS和RHEL用户可以使用以下命令进行安装:

$sudo yum install hstr

Debian用户可以如下所示安装它。

首先,使用以下命令下载并注册密钥:

$wget www.clfh.de/frankh.asc
$sudo apt-key add frankh.asc

然后,在源列表中添加以下行:

deb http://www.clfh.de/debian wheezy main
deb-src http://www.clfh.de/debian wheezy main

最后,更新源列表并使用以下命令安装hstr:

$sudo apt-get update
$sudo apt-get install hh

Fedora用户使用以下命令进行安装:

$sudo dnf install hstr

openSUSE Leap 42.1用户以root用户身份运行以下命令来安装hstr:

# zypper addrepo http://download.opensuse.org/repositories/home:tuw-e184/openSUSE_Leap_42.1/home:tuw-e184.repo
# zypper refresh
# zypper install hstr

Ubuntu和Linux Mint用户可以使用Hstr官方PPA安装它。

$sudo add-apt-repository ppa:ultradvorka/ppa
$sudo apt-get update
$sudo apt-get install hh

其他Linux发行版用户可以从源代码安装它,如下所示。

切换到root用户并使用以下命令克隆HSTR Git存储库:

# git clone https://github.com/dvorka/hstr.git

使用以下命令创建构建文件:

# cd ./dist && ./1-dist.sh && cd ..

最后,使用以下命令安装hh:

# ./configure && make && make install

配置HSTR

安装hstr后,运行以下命令以使用BASH对其进行配置。

$hh --show-configuration >> ~/.bashrc

运行以下命令使更改生效。

$source ~/.bashrc

刚开始就足够了。

有关详细的hh配置文档,请转到“配置”页面。

要在历史记录中搜索命令,请在终端中键入hstr或者hh,然后按Enter。

hstr实用程序为过去使用的命令提供类似于建议框的功能。
在提示中输入任何字母,hstr会自动建议包含该字母的命令列表。
使用向上/向下箭头浏览历史记录。

我们还可以在终端中直接指定搜索模式以及hh或者hstr命令。
例如,键入以下命令以搜索具有模式“ git”的命令。

$hh git

或者,

$hstr git

按下ENTER键后,我们将看到建议列表。

要选择命令并将其带到终端,请使用TAB键。
或者,选择命令并按ENTER键直接执行它。

默认情况下,Hstr解析.bash-history文件,该文件在我们键入命令子字符串时被过滤。
命令不仅被过滤,而且还通过考虑出现次数,长度和时间戳的排序算法进行排序。

要从历史文件中删除命令,请选择它并按DEL键。

hstr具有书签功能。
因此,我们可以将自己喜欢的和经常使用的命令添加为书签。
要为我们喜欢的命令添加书签,请使用上/下箭头从列表中选择命令,然后按CTRL-F。
所选命令将被标记为收藏。

所有带书签的命令将保存在~/.hh_favorites文件中。
要查看带有书签的命令,请键入CTRL-/(控制键+ /(正斜杠))键。

要从hstr退出并返回到Terminal,请按CTRL-g。

HSTR绑定

这是有效使用HSTR的键绑定的完整列表。

  • Ctrl-e:切换正则表达式和子字符串搜索。
  • Ctrl-t:切换区分大小写的搜索。
  • Ctrl-/,Ctrl-7:旋转Bash提供的历史记录视图,按出现次数/长度/时间戳和收藏夹对历史记录进行排序。
  • Ctrl-f:将当前选择的命令添加到收藏夹。
  • Ctrl-l:使搜索模式小写或者大写。
  • Ctrl-r,上/下箭头,Ctrl-n,Ctrl-p:在历史记录列表中导航。
  • TAB,向右箭头:选择要完成的当前选定项目,然后让用户在命令提示符下对其进行编辑。
  • 左箭头:选择当前要完成的项目,然后让用户在编辑器中对其进行编辑(修复命令)。
  • ENTER:选择当前选择的项目以完成并执行。
  • DEL:从shell程序历史记录中删除当前选择的项目。
  • BACSKSPACE,Ctrl-h:删除最后一个图案字符。
  • Ctrl-u,Ctrl-w:删除图案并再次搜索。
  • Ctrl-x:将更改写入shell历史记录并退出。
  • Ctrl-g:退出并显示空提示。

有关更多详细信息,请查看手册页。

$man hh