Linux下有哪些命令行的软件堪称神器?
ag:比grep、ack更快的递归搜索文件内容。
tig:字符模式下交互查看git项目,可以替代git命令。
mycli:mysql客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。
jq: json文件处理以及格式化显示,支持高亮,可以替换python -m json.tool。
shellcheck:shell脚本静态检查工具,能够识别语法错误以及不规范的写法。
yapf:Google开发的python代码格式规范化工具,支持pep8以及Google代码风格。
mosh:基于UDP的终端连接,可以替代ssh,连接更稳定,即使IP变了,也能自动重连。
fzf:命令行下模糊搜索工具,能够交互式智能搜索并选取文件或者内容,配合终端ctrl-r历史命令搜索简直完美。
PathPicker(fpp):在命令行输出中自动识别目录和文件,支持交互式,配合git非常有用。
运行以下命令:
git diff HEAD~8 --stat | fpp
htop: 提供更美观、更方便的进程监控工具,替代top命令。
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:代码统计工具,能够统计代码的空行数、注释行、编程语言。
ccache:高速C/C++编译缓存工具,反复编译内核非常有用。使用起来也非常方便:
gcc foo.c
改成:
ccache gcc foo.c
tmux:终端复用工具,替代screen、nohup。
neovim: 替代vim。
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
更具体的列表可参考:int32bit/dotfiles 。
19.thefuck:用途是每次命令行打错了以后,打一句fuck就会自动更正命令。比如apt-get打成了aptget。fuck以后自动变成apt-get。但还是没加sudo。再fuck,成功!
又比如git branch打成了git brnch。fuck!更正成git branch。
又比如python打成了puthon。fuck!一秒变python。
而且关键是每次打命令和内心os完全一致,有种人机合一的快感。fuck!
20.tldr: 如果你经常不想详读man文档,那么你应该试试这个小工具。
使用 $ man tar时
使用 $ tldr tar 时
原文地址:https://www.cnblogs.com/bluestorm/p/15057377.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LayoutAnimation给ListView中的item设置动态出场效果(实例)
- android studio2.3如何编译动态库的过程详解
- Android RecyclerView设置下拉刷新的实现方法
- Android 动态添加view或item并获取数据的实例
- Centos7实现MySQL基于日志还原数据的示例代码
- Android 三种延迟操作的实现方法
- 基于Android在布局中动态添加view的两种方法(总结)
- Android向node.js编写的服务器发送数据并接收请求
- Android startActivityForResult和setResult的区别
- Linux系统使用Fuser命令的方法
- Android实现地理定位功能
- Android实现在ServiceManager中加入自定义服务的方法详解
- Android studio so库找不到问题解决办法
- Android使用ViewPager实现屏幕滑动效果
- Android 自定义view实现进度条加载效果实例代码