Linux中哪些工具堪称神器?
作者: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/
推荐阅读(点击即可跳转阅读)
2. 面试题内容聚合
3. 设计模式内容聚合
4. Mybatis内容聚合
5. 多线程内容聚合
Linux中哪些工具堪称神器?的更多相关文章
- [转帖]Linux中awk工具的使用
Linux中awk工具的使用 2018年10月09日 17:26:20 谢公子 阅读数 2170更多 分类专栏: linux系统安全 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...
- linux中awk工具的使用(转)
add by zhj: awk很强大,它是一个简单的编程语言,国外有本专门的书介绍它的用法.<effective awk programming>,它支持整型,字符串型,数组,变量在使用前 ...
- linux中的工具
远程连接linux的工具: 命令行: SecureCRT putty XShell(商业环境付费) 图形界面:WinSCP SecureFX 远程连接window服务器工具: FileZilla ...
- linux中grep工具
正则表达式 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx. ...
- Linux 笔记 - 第十三章 Linux 系统日常管理之(四)Linux 中 rsync 工具和网络配置
博客地址:http://www.moonxy.com 一.前言 rsync 命令是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,可以理解为 remote sync(远程同步) ...
- Kali Linux中下载工具Axel的安装和使用
前言: Axel是一个多线程的HTTP/FTP下载工具,支持断点续传. Axel的安装 apt-get install axel Axel的卸载 apt remove axel 安装完成之后输入 ax ...
- Linux中dpkg工具update-alternatives实现符号链接软件版本的切换(转)
一.功能作用 update-alternatives是dpkg的实用工具,用来维护系统命令的符号链接,以决定系统默认使用什么命令. 在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配 ...
- linux中awk工具的使用(转载)
awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...
- linux中awk工具的使用
awk是一个非常好用的数据处理工具.相较于sed常常一整行处理,awk则比较倾向于一行当中分成数个“字段”处理,awk处理方式如下: $ awk '条件类型1{动作1} 条件类型2{动作2} ...' ...
随机推荐
- 学习Python第一天 ---Hello World
引言 人生苦短,请用 Python(3.+) 越来越多的情况下使用Python语言进行"代码粘合"和"数据分析"变得非常方便,而且Python 在"爬 ...
- Vue.js 一问一答
Vue.js 一问一答 记录一下在学习 Vue 过程中给自己问的一些问题,持续更新中... Vue.js 的核心是什么? 官网:Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 ...
- GHOST CMS -上下文概述 Context Overview
Context Overview上下文概述 Each page in a Ghost theme belongs to a context, which determines which templa ...
- CURL命令学习三
-I 只获取请求头 -k --insecure 每次SSL连接curl都需要验证是否安全.-k参数表示如果不安全也可以继续操作. -4 --ipv4 告诉curl只使用ipv4地址 -6 --ipv6 ...
- uni-app实现多端开发
多端开发,听名字就感觉不一样,一套代码.多端使用,适用于各个平台.市面上很多关于多端开发的框架,比较常用,流行的框架 uni-app,Chameleon(变色龙),taro这些,都可以支持多端,一套代 ...
- C#中提示:当前上下文中不存在名称“ConfigurationManager”
场景 想要在程序中获取App.config中设置的内容. 想要通过 ConfigurationManager.AppSettings[key]; 来进行获取,已经添加 using System.Con ...
- 魔术师发牌问题 -- python实现
问题描述 魔术师手中有A.2.3--J.Q.K十三张黑桃扑克牌.在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下).魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来, ...
- jTopo HTML5 Canvas 画图组件
jTopo是什么? jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包. jTopo关注于数据的图形展示,它是面 ...
- Git submodule update 命令执行
git submodule update操作可能导致执行.gitmodules文件中定义的任意shell命令. 受影响的产品 Git版本2.20.0至2.24.0 修复版本 Git v2.24.1,v ...
- FontLab VI for Mac 键盘快捷键
使用FontLab VI for Mac,您可以创建,打开,修改,绘制,空间,文字,提示和导出桌面,网页,颜色和可变字体.该应用程序是一个全能的字体编辑器,但也支持与其他字体创建工具的数据交换,使其易 ...