命令行备忘录 navi 使用教程

文章首发于个人公众号:「阿拉平平」

在 Linux 中,我们可以通过 history 查询并运行之前执行过的命令。但是对于 高频使用 与 相对复杂 的命令行,有没有什么好用的工具便于我们去管理呢?

本文将介绍 navi 的安装和使用方法,版本为 v0.15.3。

navi 简介

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

源码安装

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

安装 fzf

fzf 是一款功能强大的命令行模糊搜索工具。安装步骤如下:

# 下载 fzf
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf

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

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

安装 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

使用方法

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

基本操作

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

如果不希望直接运行命令,可以加上 --print 参数,终端将会打印命令行:

navi --print

如果需要预先过滤输出结果,可以通过 query 子命令:

navi query <cmd>

如果本地丢失了默认的备忘录,可以通过 search 子命令从线上仓库搜索对应的备忘录:

navi search <cmd>

其它的选项可以通过 --help 参数进行查询。

自定义备忘录

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。运行结果如下:
活跃用户

接着,新增添加用户的命令:

# Add User
useradd <username>

运行时会要求输入 username
添加用户

最后,结合活跃用户的命令,新增设置用户密码的命令:

# Reset User Password
passwd <user>
$ user: cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1 }'|more

添加 www 用户后,设置密码时就可以选中该用户:
选择用户

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

参考文档:

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值