命令行备忘录 navi 使用教程


阿拉平平

读完需要

5

分钟

速读仅需2分钟

在 Linux 中,我们可以通过 history 查询并运行之前执行过的命令。但是对于 高频使用相对复杂 的命令行,有没有什么好用的工具便于我们去管理呢?
本文将介绍 navi 的安装和使用方法,版本为 v0.15.3。

1. navi 简介


   

navi 是一个可交互的命令行备忘工具。用户可以执行备忘录中的命令,navi 也支持自定义备忘录以及命令行参数提示。


2. 源码安装


   

本文通过源码安装,演示环境为 CentOS 7.5。更多安装方法可以参考 GitHub[1]


2.1 安装 fzf


   

fzf 是一款功能强大的命令行模糊搜索工具。安装步骤如下:
# 下载 fzf
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf

# 安装 fzf,执行后会询问一些开关配置,都设置开启即可
~/.fzf/install

# 重载配置文件
source ~/.bashrc

2.2 安装 navi


   

fzf 安装后,执行以下步骤安装 navi:
# 下载 navi
git clone --depth 1 https://github.com/denisidoro/navi /opt/navi

# 安装 navi
cd /opt/navi
sudo make 
install

# (可选)安装到其它路径,生成的文件相当于一个快捷方式
./scripts/
install /some/path

3. 使用方法


   

本章将会介绍 navi 的基本操作以及如何自定义备忘录。


3.1 基本操作


   

安装完成后,输入 navi 就可以进入到交互界面。如下:

命令行备忘录 navi 使用教程

如果不希望直接运行命令,可以加上 –print 参数,终端将会打印命令行
navi --print
如果需要预先过滤输出结果,可以通过 query 子命令
navi query <cmd>
如果本地丢失了默认的备忘录,可以通过 search 子命令从线上仓库搜索对应的备忘录:
navi search <cmd>
其它的选项可以通过 –help 参数进行查询。

3.2 自定义备忘录


   

navi 已经集成了许多备忘录。默认的备忘录都放在 cheats 目录下,一个 .cheat 文件即表示一张备忘录:

cheats
├── android.cheat
├── brew.cheat
├── compression.cheat
├── crontab.cheat
├── docker.cheat
├── fly.cheat
├── git.cheat
├── gpg.cheat
├── javascript.cheat
├── k3d.cheat
├── keytool.cheat
├── kubernetes.cheat
├── misc.cheat
├── mysql.cheat
├── network.cheat
├── openssl.cheat
├── osx.cheat
├── systemctl.cheat
└── yum.cheat

自定义备忘录是 navi 的核心功能。在编写前,我们需要了解下备忘录的语法
  • %% 开头的行表示为命令行添加特定的标签,多个标签以 , 分隔。

  • ## 开头的行表示对命令行的用途进行描述。

  • $$ 开头的行表示命令行参数的可选值。

  • <><> 包裹的字符串表示变量。


接下来我将自定义一张用户相关的备忘录,包含用户的查询、添加以及设置密码。
首先,在 cheats 目录下新建 user.cheat 文件,添加以下内容:
[root@localhost cheats]# vi user.cheat
% user, demo

#
 Active User List 
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
说明:.cheat 文件可以放到任意路径下,然后通过 –path 参数去指定。但是,如果这张备忘录里只有一条命令则会直接执行。
上面的命令会显示系统中的活跃用户名、用户ID以及组ID。运行结果如下:

命令行备忘录 navi 使用教程

接着,新增添加用户的命令:
# Add User
useradd <username>
运行时会要求输入 username

命令行备忘录 navi 使用教程

后,结合活跃用户的命令,新增设置用户密码的命令:
# Reset User Password
passwd <user>
$ user: cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1 }'|more
添加 www 用户后,设置密码时就可以选中该用户:

命令行备忘录 navi 使用教程

再查看下活跃用户,可以看到 www 用户已在列表中:

命令行备忘录 navi 使用教程


References

[1] Github: https://github.com/denisidoro/navi



原文始发于微信公众号(阿拉平平):命令行备忘录 navi 使用教程

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/288063.html

(0)
码上实战的头像码上实战

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!