1. tmux

Tmux 是一个优秀的终端复用工具.用户可以通过 Tmux 在一个终端内管理多个分离的会话、窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。

# 开启一个新会话执行任务
$ tmux 
# 开启一个新会话执行任务,会话名字叫test
$ tmux new -s test
# 会话放在后台运行,切回原来窗口
$ ctrl +b 松手后再按d
# 查看会话
$ tmux ls 查看会话
# 进入test窗口会话
$ tmux att -t  test
# 删除test窗口会话
$ tmux kill-session -t test
# 终止所有窗口会话
$ tmux kill-server 

2. jq

jq :是一个轻量级的命令行工具,用于处理 JSON 数据,格式化显示,支持高亮,可以替换python -m json.tool

# 输出原始json数据
$ echo '{"name": "qiexia", "age": "28", "city": "guangzhou"}' | jq
{
  "name": "qiexia",
  "age": "28",
  "city": "guangzhou"
}

# 获取某个 key 的值
$ echo '{"name": "qiexia", "age": "28", "city": "guangzhou"}' | jq .name
"qiexia"

# 获取多个key的值
$ echo '{"name": "qiexia", "age": "28", "city": "guangzhou"}' | jq .name,.age
"qiexia"
"28"

# 获取所有的keys
$ echo '{"name": "qiexia", "age": "28", "city": "guangzhou"}' | jq keys
[
  "age",
  "city",
  "name"
]

# 获取所有values
$ echo '{"name": "qiexia", "age": "28", "city": "guangzhou"}' | jq .[]
"qiexia"
"28"
"guangzhou"

# 获取tests values的第一个元素
$ echo '{"city": "guangzhou", "tests": [{"foobar": "v1"}, {"foobar": "v2"}]}' | jq .tests[0]

{
  "foobar": "v1"
}

# 获取tests values的所有元素
$ echo '{"city": "guangzhou", "tests": [{"foobar": "v1"}, {"foobar": "v2"}]}' | jq '.tests |.[]'
{
  "foobar": "v1"
}
{
  "foobar": "v2"
} 

# 获取tests values的元素中key为foobar的values
$ echo '{"city": "guangzhou", "tests": [{"foobar": "v1"}, {"foobar": "v2"}]}' | jq '.tests |.[].foobar'
"v1"
"v2"

3. glances

glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。 在这里插入图片描述

4. multitail

Multitail是一个用来监控多个文档,多个日志文件的命令。类似于tail命令功能的软件。 tail命令只能在一个终端查看一个文档文件,而Multitail可以在终端打开多个查看窗口。这样可以监控多个日志文件

指明显示多个文件的日志

$ multitail -i file1 -i file2

在这里插入图片描述

表示竖排窗口显示两个文的日志

$ multitail -s 2 /var/log/lastlog /var/log/messages

在这里插入图片描述