Linux 15个命令神器

ag、tig、mycli、jq、shellcheck、fzf、fpp、htop、glances、axel、sz/rz、cloc、tmux、script/scriptreplay、multitail

 

1、ag

官网:https://github.com/ggreer/the_silver_searcher

ag是用C++写的,搜索速度快,比grep、ack更快的递归搜索文件内容,速度对比 ag > ack > grep

ag支持 CentOS、Ubuntu、MacOS、Windows 等多操作系统平台

1)grep

安装命令:yum -y update grep

使用命令:grep root /etc/passwd

2)ack

安装命令:yum -y install ack

使用命令:ack root /etc/passwd 

3)ag

安装命令:yum -y install the_silver_searcher

使用命令:ag root /etc/passwd 

 

2、tig

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

tig 帮助:

# tig --help
tig 2.4.0 

Usage: tig        [options] [revs] [--] [paths]
   or: tig log    [options] [revs] [--] [paths]
   or: tig show   [options] [revs] [--] [paths]
   or: tig blame  [options] [rev] [--] path
   or: tig grep   [options] [pattern]
   or: tig refs
   or: tig stash
   or: tig status
   or: tig <      [git command output]

Options:
  +<number>       Select line <number> in the first view
  -v, --version   Show version and exit
  -h, --help      Show help message and exit

安装命令:yum -y install tig

使用命令:

git clone https://github.com/mimvp/mimvp-home.git   // 下载 git 代码

cd mimvp-home

tig show mimvp-home

 

3、mycli推荐

官网:https://github.com/dbcli/mycli

mycli是MySQL,MariaDB和Percona的命令行界面客户端,支持语法高亮和命令补全,效果类似ipython,可以替代mysql命令。

mycli 使用 prompt_toolkit 编写。

  • 当你输入 SQL 关键字,数据库的表格和列时,自动补全。
  • 语法高亮使用 Pygments.
  • 智能补全(默认启用),会提示文本感应的(context-sensitive)补全。
  • SELECT * FROM <tab>只显示表格名称
  • SELECT * FROM users WHERE <tab>只显示列名称。
  • 配置文件在第一次启动时,自动创建在~/.myclirc
  • 漂亮的打印表格数据。

安装命令:

1)CentOS

yum -y install python-pip   

pip install -U mycli 

2)MacOS

brew update && brew install mycli     

3)Ubuntu

sudo apt-get install mycli

使用命令:mycli  -h 123.56.78.90 -P 3306 -uroot -p'123456' wordpress      // 登录 MySQL 数据库

 

4、jq

官网:https://github.com/stedolan/jq

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

 

5、shellcheck 推荐

官网:https://github.com/koalaman/shellcheck

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

安装命令:

1)CentOS

yum -y install epel-release && yum -y install ShellCheck

2)MacOS

brew install shellcheck

3)Ubuntu

sudo apt-get install shellcheck

测试脚本:vim test.sh   

# cat test.sh          
#!/bin/sh
# author: mimvp.com
# date  : 2019.01.01

echo "hello world"
echo -e "hello world too"

ps -ef | grep ".sh"

for i in {1..10}
do
    echo "i : $i"
done

使用命令:shellcheck test.sh

 

6、fzf

官网:https://github.com/junegunn/fzf

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

 

7、fpp

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

运行以下命令:git diff HEAD~8 --stat | fpp

 

8、htop

官网:https://github.com/hishamhm/htop

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

安装命令:yum -y install htop

使用命令:htop

 

9、glances

更强大的 htop / top 代替者。

htop 代替 top,glances 代替 htop

安装命令:yum -y install glances

使用命令:glances

信息比 htop 丰富了不少,更全了,对吧

除了命令行查看外,glances 还提供页面服务,让你从页面上随时查看某服务器的状态。

 

10、axel推荐

官网:https://github.com/axel-download-accelerator/axel

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

安装命令:yum -y install axel

命令格式:axel 参数 文件下载地址

可选参数: 

-n 指定线程数
-o 指定另存为目录
-s 指定每秒的最大比特数
-q 静默模式

限速使用:加上 -s 参数,如 -s 10240,即每秒下载的字节数,这里是 10 Kb
限制连接数:加上 -n 参数,如 -n 5,即打开 5 个连接

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

如果报错提示:axel Too many redirects,原因是你系统默认下载源安装的版本太低了,下载最新版的

axel:https://github.com/axel-download-accelerator/axel/releases

例如:axel-2.17.6.tar.gz

下载、安装、使用:

wget https://github.com/axel-download-accelerator/axel/releases/download/v2.17.6/axel-2.17.6.tar.gz
tar zxvf axel-2.17.6.tar.gz 
cd axel-2.17.6
./configure 
make
make instatll
./axel https://github.com/axel-download-accelerator/axel/releases/download/v2.17.6/axel-2.17.6.tar.gz

cd ..
# which axel
/usr/local/bin/axel
# rm -f /usr/bin/axel 
# ln -s /usr/local/bin/axel /usr/bin/axel 
axel https://github.com/axel-download-accelerator/axel/releases/download/v2.17.6/axel-2.17.6.tar.gz

运行结果:

 

11、sz/rz推荐

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

需要安装 yum -y install lrzsz 

使用命令:rz (上传)    sz (下载)

 

12、cloc推荐

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

需要安装 yum -y install cloc

使用命令:cloc ../script/

 

13、tmux

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

需要安装 yum -y install tmux

使用命令:cloc ../script/

 

14、script/scriptreplay推荐

官网:https://github.com/rsdoiel/scriptreplayer

终端会话录制。

# 录制
script -t 2>time.txt session.typescript
# your commands
# 录制结束
exit
# 回放
scriptreplay -t time.txt session.typescript

 

15、multitail推荐

官网:https://github.com/flok99/multitail

多重强制输入文件末尾字符 multi-tail

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

需要安装 yum -y install multitail

使用命令:multitail /var/log/mimvp.com-*_log

 

 

参考推荐

Linux 实用好评的命令工具 (推荐

Linux 性能监控的18个命令行工具 (推荐

Linux有趣命令

Linux top 命令详解

Linux sar 系统性能分析命令详解

Perf — Linux下的系统性能调优工具

Linux free命令:buffer 与 cache 区别

Linux expect 命令无需输入密码登陆

Linux rc.local 命令不执行

Linux curl 命令模拟 POST/GET 请求

Unix/Linux 命令的后面括号中数字的含义

Linux tree 命令显示树形目录结构的安装和使用