本文转自 微信公众号<Linux爱好者>的一篇文章,觉得工具非常好使,且极具使用价值,所以在此安利一下

Linux 用户的福音,记忆力解放!快速调用复杂命令

  刚学的一句新命令,才用完就忘了用法?通常情况下,命令后加一句—help就行了。

  但是,命令的帮助文档往往内容太太太太多了,在里面找到自己关心的部分实在太难了。查找出来的方法也不能直接使用,还需要手动粘贴下来。

  如果能够把自己最想要掌握的命令整理成一份秘籍就好了。

  而且这份秘籍最好可以在终端里随时查阅、调用,还要能写成中文帮助文档,减少阅读障碍。

  现在,真的有人把这样的工具给实现了,名字就叫做navi,才上线才两天,就已经获得超过1000星。开发者是一位来自巴西的小哥Denis Isidoro。

GitHub地址:https://github.com/denisidoro/navi

安装了navi后,只要键入一个单词,速查表中相关的命令以及用法注释就会实时显示在下方。找到以后我们想要的命令后,用方向键选中后即可直接运行命名。

一句命令即可安装

macOS和Linux用户都可以安装navi,如果你原来就安装了Homebrew或者Linuxbrew,那么只需一句命令就可以安装

brew install denisidoro/tools/navi

没有包管理软件的用户可以直接下载安装:

git clone --depth 1 http://github.com/denisidoro/navi /opt/navi
cd /opt/navi
sudo make install
# install fzf: https://github.com/junegunn/fzf

需要注意的是,如果是用第二种安装方法,还要先安装命令行模糊查找工具fzf

支持自定义速查表

  navi可以在后面加入search来快速查找命令,也可以直接输入navi并回车,进入界面后再查找。

  如果你以为navi只有这点本事就完全错了,navi之所以一上线就如此受欢迎,主要原因是它强大的自定义功能。而且自定义注释是支持中文的!

  原本的navi项目自带7个速查表,远远不够用。没关系,我们可以自己写一份速查表,放在navi速查表的路径下。

  如果你通过Homebrew安装,速查表路径为‎⁨/usr⁩/local⁩/Cellar⁩/⁨navi⁩/0.8.1⁩/libexec⁩/cheat/。进入这个路径,添加一个后缀名为.cheat的文件。cheat文件的格式如下:

% docker, container

# Remove an image
docker image rm <image_id> # Delete an image from the local image store
docker rmi <image_id>
.......
....... # Print the last lines of container's logs
docker logs --tail 100 <container_id> | less $ image_id: docker images --- --headers 1 --column 3
$ container_id: docker ps --- --headers 1 --column 1
.......

  文件以%开头,后面紧跟命名的名称、标签;

  文件中间加入命令及其注释,注释以#开头,注释在前、命令在后,命令中的变量以<>表示;

  文件结尾是变量的生成方式,形式为“$ 变量名: 生成方式”,如果没有指定,那么变量需要手动键入。

  比如常用到ffmpeg处理视频,但是一般ffmpeg命令太长,我们就定义一个ffmpeg.cheat文件。为了

可以看到,在完成了ffmpeg命令速查表的定义后,我们再也不用输入长长的命令,只需要选中命令后,再按照要求输入input、output等参数即可,大大提升了效率。

One More Thing

  这款软件的开发者说,Navi的名字一语双关,既有导航的意思,也是游戏《塞尔达传说:时之笛》中的一个角色,为主角林克提供各种线索,帮助他解决难题和完成任务。

本文只对文章进行了一下排版的修改,有问题请及时联系我

原文链接:https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666544838&idx=2&sn=0102ee02d8c9d011ab2f7ac6695bab2a&key=0d2d4c6f8e7ea8783a99d9198626e13b62129e73beac0b6477ef1a27c20f9bb93ead3deee3a72ec30d5176b1049bae3a34a3ed0a0b8895da51569c17aa8637b7c0946cff6b2d73ba71581a223e894b74&ascene=1&uin=MjIwMzQ1NDAyMA%3D%3D&devicetype=Windows+10&version=62060834&lang=zh_CN&pass_ticket=sGGjBCgnLfI7xjXTPN9y3z%2BR5d4OYOP9mobUXhlrGlDdogeHlpMniLER0lgJsPkF

Linux 命令行作弊工具安利的更多相关文章

  1. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  2. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  3. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  4. Linux命令行下载工具

    目录 wget aria2 cURL Youtube-dl https://zh.wikipedia.org/wiki/下载管理程序比较 https://wiki.archlinux.org/inde ...

  5. 20个linux命令行工具监视性能(下)

    昨天晚上第一次翻译了<20 Command Line Tools to Monitor Linux Performance>中的前十个命令,翻译得不是很好,今天晚上继续把后面的十个也翻译给 ...

  6. 28 个必备的 Linux 命令行工具

    dstat & sar iostat, vmstat, ifstat and much more in one. slurm 网络流量图形化工具 vim & emacs 这个没人不知道 ...

  7. 7个基于Linux命令行的文件下载和网站浏览工具

    7个基于Linux命令行的文件下载和网站浏览工具 时间:2015-06-01 09:36来源:linux.cn 编辑:linux.cn 点击: 2282 次 Linux命令行是GNU/Linux中最神 ...

  8. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  9. Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析

    在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wire ...

随机推荐

  1. centos 长久路由表

    由于用命令添加路由条目之后,重启程序后,条目会消失.所以需要用文件管理路由. 1.根据网卡创建路由表文件 vim /etc/sysconfig/network-scripts/route-eth0 2 ...

  2. dapi 基于Django的轻量级测试平台一 设计思想

    GitHub:https://github.com/yjlch1016/dapi 一.项目命名: dapi:即Django+API测试的缩写 二.设计思想: 模拟性能测试工具JMeter的思路, 实现 ...

  3. Java动态代理--CGLib实现

    上一篇说了通过JDK实现实现了动态代理,但是用JDK实现代理,要求所代理的类必须实现一个接口.如果我们类不实现接口,这就在无法使用JDK提供的Proxy来实现动态代理,这个时候我们应该怎么办呢?我们找 ...

  4. Convert.ToByte((int)val)

    static void Main(string[] args) { ; byte bit8 = Convert.ToByte((int)val); Console.WriteLine("[{ ...

  5. C++对象内存模型2 (虚函数,虚指针,虚函数表)(转)

    class A { public: virtual void vfunc1(); virtual void vfunc2(); void func1(); void func2(); virtual ...

  6. kvo与runtime

    创建新类 添加方法 isa-swizzling 测试方案: 添加全局断点 objc_allocateClassPair objc_registerClassPair class_addMethod l ...

  7. Struts2框架的搭建

    Struts2是WebWork框架的升级版本,替代了Servlet. 由于用IDEA下载jar包失败,直接创建手动导包. 1.导包: (1)Struts2的目录结构: (2)导入jar包: 2.书写A ...

  8. 8.学习springmvc的拦截器

    一.springmvc拦截器介绍和环境搭建 1.介绍: 过滤器:servlet中的一部分,可以拦截所有想要访问的资源. 拦截器:SpringMVC框架中的,只能在SpringMVC中使用并且只能过滤控 ...

  9. Vue的SEO问题汇总

    方式一 思否 https://segmentfault.com/q/1010000011824706 SSR 和 Nuxt.js : https://zh.nuxtjs.org/ https://se ...

  10. 8-ESP8266 SDK开发基础入门篇--编写串口上位机软件

    https://www.cnblogs.com/yangfengwu/p/11087558.html 咱用这个编写 ,版本都无所谓哈,只要自己有就可以,不同版本怎么打开 https://www.cnb ...