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. 多线程内容聚合