美文网首页开源工具技巧我用 Linux
命令行备忘录 navi 使用教程

命令行备忘录 navi 使用教程

作者: Xpitz | 来源:发表于2019-12-09 16:18 被阅读0次

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

    在 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

    相关文章

      网友评论

        本文标题:命令行备忘录 navi 使用教程

        本文链接:https://www.haomeiwen.com/subject/mykbgctx.html