作者:int32bit

www.zhihu.com/question/59227720

ag:比grep、ack更快的递归搜索文件内容。

Github地址:

https://github.com/ggreer/the_silver_searcher

tig:字符模式下交互查看git项目,可以替代git命令。

Github地址:

https://github.com/jonas/tig

mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。

Github地址:

https://github.com/dbcli/mycli

jq: json文件处理以及格式化显示,支持高亮,可以替换python -m json.tool。

shellcheck:shell脚本静态检查工具,能够识别语法错误以及不规范的写法。

Github地址:

https://github.com/koalaman/shellcheck

yapf:Google开发的python代码格式规范化工具,支持pep8以及Google代码风格。

Github地址:

https://github.com/google/yapf

mosh:基于UDP的终端连接,可以替代ssh,连接更稳定,即使IP变了,也能自动重连。

终端连接参考这篇:十分钟学会SSH+SFTP操作终端,告别XShell

地址:

https://mosh.org/#getting

fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索简直完美。

Github地址:

https://github.com/junegunn/fzf

PathPicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合git非常有用。

运行以下命令:

git diff HEAD~8 --stat | fpp

Github地址:

https://github.com/facebook/PathPicker

htop: 提供更美观、更方便的进程监控工具,替代top命令。

地址:

https://hisham.hm/htop/

axel:多线程下载工具,下载文件时可以替代curl、wget。

axel -n 20 http://centos.ustc.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso

sz/rz:交互式文件传输,在多重跳板机下传输文件非常好用,不用一级一级传输。

cloc:代码统计工具,能够统计代码的空行数、注释行、编程语言。

地址:

http://cloc.sourceforge.net/

ccache:高速C/C++编译缓存工具,反复编译内核非常有用。使用起来也非常方便:

gcc foo.c

改成:

ccache gcc foo.c

地址:

https://ccache.dev/

tmux:终端复用工具,替代screen、nohup。

neovim: 替代vim。

地址:

https://neovim.io/

script/scriptreplay: 终端会话录制。

script -t 2>time.txt session.typescript # 录制开始
# your commands
exit # 录制结束

回放:

scriptreplay -t time.txt session.typescript

you-get: 非常强大的媒体下载工具,支持youtube、google+、优酷、芒果TV、腾讯视频、秒拍等视频下载。

还有mac专有的pbcopy/pbpaste:

把命令行输出拷贝到系统粘贴板:

cat test.sh| pbcopy

把系统粘贴板内容拷到终端:

pbpaste

mac下的say命令支持多种语言(英语、普通话、粤语)文本朗读,支持各种销魂恐怖的语气。跑这个命令感受下,小心被吓着了:

for i in `say -v '?' | cut -d ' ' -f 1`; do echo $i && say -v "$i" 'Hello World';done

multitail:多重 tail

通常你不止一个日志文件要监控,怎么办?终端软件里开多个 tab 太占地方,可以试试这个工具:

上面演示了同时监控两个日志文件,有高亮显示不同内容,当然还可以同时监控更多日志:

地址:

https://www.vanheusden.com/multitail/

推荐阅读(点击即可跳转阅读)

1. SpringBoot内容聚合

2. 面试题内容聚合

3. 设计模式内容聚合

4. Mybatis内容聚合

5. 多线程内容聚合

Linux中哪些工具堪称神器?的更多相关文章

  1. [转帖]Linux中awk工具的使用

    Linux中awk工具的使用 2018年10月09日 17:26:20 谢公子 阅读数 2170更多 分类专栏: linux系统安全   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  2. linux中awk工具的使用(转)

    add by zhj: awk很强大,它是一个简单的编程语言,国外有本专门的书介绍它的用法.<effective awk programming>,它支持整型,字符串型,数组,变量在使用前 ...

  3. linux中的工具

    远程连接linux的工具: 命令行: SecureCRT   putty  XShell(商业环境付费) 图形界面:WinSCP SecureFX 远程连接window服务器工具: FileZilla ...

  4. linux中grep工具

    正则表达式 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx. ...

  5. Linux 笔记 - 第十三章 Linux 系统日常管理之(四)Linux 中 rsync 工具和网络配置

    博客地址:http://www.moonxy.com 一.前言 rsync 命令是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,可以理解为 remote sync(远程同步) ...

  6. Kali Linux中下载工具Axel的安装和使用

    前言: Axel是一个多线程的HTTP/FTP下载工具,支持断点续传. Axel的安装 apt-get install axel Axel的卸载 apt remove axel 安装完成之后输入 ax ...

  7. Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)

    一.功能作用 update-alternatives是dpkg的实用工具,用来维护系统命令的符号链接,以决定系统默认使用什么命令. 在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配 ...

  8. linux中awk工具的使用(转载)

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

  9. linux中awk工具的使用

    awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...

随机推荐

  1. [从今天开始修炼数据结构]图的最短路径 —— 迪杰斯特拉算法和弗洛伊德算法的详解与Java实现

    在网图和非网图中,最短路径的含义不同.非网图中边上没有权值,所谓的最短路径,其实就是两顶点之间经过的边数最少的路径:而对于网图来说,最短路径,是指两顶点之间经过的边上权值之和最少的路径,我们称路径上第 ...

  2. django----orm查询优化 MTV与MVC模型 choice参数 ajax serializers

    目录 orm查询优化 only defer select_related 与 prefetch_related MTV 与 MVC 模型 choice参数 Ajax 前端代码 后端代码 前后端传输数据 ...

  3. ClassNotFoundException------IDEA下的一种原因

    由于直接复制文件而未经过IDE造成次异常,需要修改程序入口:

  4. 一起学MyBatis之入门篇(2)

    概述 本文主要讲解MyBatis中类型转换的功能,其实在MyBatis中,提供了默认的数据类型之间的转换,但只是基本数据类型的转换,如果跨类型进行转换,则需要自定义转换类,如java中是boolean ...

  5. C# -- DateTime与TimeSpan

    1. DateTime的使用 DateTime dt = DateTime.Now; StringBuilder sb = new StringBuilder(); sb.AppendLine(str ...

  6. 动态代理模式——JDK动态代理

    今天,我就来讲一下动态代理的设计模式. 动态代理的意义在于生成一个代理对象,来代理真实对象,从而控制真实对象的访问.操作动态代理需要两个步骤:一.代理对象和真实对象建立代理关系.二.实现代理对象的代理 ...

  7. 2.Android-sdk目录介绍、ADT使用介绍、创建helloworld

    1.android中常用名词介绍 ADT:  ADT为Eclipse的插件.为Eclipse和SDK之间起了一个桥梁的作用. SDK: 软件开发工具包(Soft Development Kit),它为 ...

  8. Pikachu-File Inclusion, Unsafe file download & Unsafe file upload

    Pikachu-File Inclusion, Unsafe file download & Unsafe file upload 文件包含漏洞 File Inclusion(文件包含漏洞)概 ...

  9. centos7 laravel 项目 npm install报错

    npm install 初始化项目依赖的前端资源   报错 ERR xxx .. socket,symbol link is not supported ... 如果报错了 重新npm install ...

  10. Lucene&Solr框架之第二篇

    2.1.开发环境准备 2.1.1.数据库jar包 我们这里可以尝试着从数据库中采集数据,因此需要连接数据库,我们一直用MySQL,所以这里需要MySQL的jar包 2.1.2.MyBatis的jar包 ...