ShellCheck

一款帮助你纠错shell脚本的工具

简介
shellcheck 是一款实用的 shell脚本静态检查工具。
首先,可以帮助你提前发现并修复简单的语法错误,节约时间。每次都需要运行才发现写错了一个小地方,确实非常浪费时间。
其次,可以针对你当前不够完善不够健壮的写法,提供建议,帮助你提前绕开一些坑,避免等问题真的发生了才去调试处理。
在其介绍中,目标是针对所有用户的,从初学者到高手,都用得上
指出并澄清典型的初学者的语法问题,那通常会shell提供神秘的错误消息。
指出并澄清典型的中级的语义问题,这些问题会导致shell出现奇怪且反直觉的行为。
指出可能导致高级用户的脚本中,可能在未来某种情况下失败的陷阱。

https://www.shellcheck.net 是他的官网,同样可以进行检查操作

https://github.comf/koalaman/shellcheck 开源地址

安装

  1. yum install -y shellcheck

大部分发行版的包管理中都有shellcheck库了。

使用方法

  1. shellcheck 脚本 #这样就会帮你检查了

当检查出来问题时,会给出错误提示,建议自行翻译,多用就能记住这些错误提示了。

Tmux

多开窗口,分屏提高效率。

简介

tmux 应用程序的名称来源于终端(terminal)复用器(muxer)或多路复用器(multiplexer)。换句话说,它可以将您的单终端会话分成多个会话。 它管理窗口和窗格:

  1. 窗口(window)是一个单一的视图 - 也就是终端中显示的各种东西。
  2. 窗格(pane)是该视图的一部分,通常是一个终端会话
  1. yum install tmux -y #安装工具包
  2. tmux #直接输入命令即可运行tmux程序
  3. tmux new -s test12 #直接创建tmux窗口

运维常用工具包 - 图1

输入后似乎什么也没有发生,除了出现在终端的底部的状态栏

底部栏显示:

  • [0] :这是 tmux 服务器创建的第一个会话。编号从 0 开始。tmux 服务器会跟踪所有的会话确认其是否存活。
  • 0:root@hecs:~ – 有关该会话的第一个窗口的信息。编号从 0 开始。这表示窗口的活动窗格中的终端归主机名 scarlett 中 testuser 用户所有。当前目录是 ~ (家目录)。
    • – 显示你目前在此窗口中。
  • “scarlett.internal.fri” – 你正在使用的 tmux 服务器的主机名。
  • 此外,还会显示该特定主机上的日期和时间。

当你向会话中添加更多窗口和窗格时,信息栏将随之改变。

  1. Ctrl+b," #上下切割窗口
  2. Ctrl+b,% #左右切割窗口
  3. Ctrl+b,s #查看打开的窗口
  4. Ctrl+b,上下左右 #切换窗口
  5. Ctrl+b,q #查看打开的窗口号
  6. Ctrl+b,c #再创建一个窗口
  7. Ctrl+b, d #回到基础的shell界面
  8. tmux attach-session #回到tmux会话
  9. tmux list-sessions #查看tmux会话

lrzsz

lrzsz是一款在linux里可代替ftp上传和下载的程序。在linux里可代替ftp上传和下载。

我们有时候上传一个小文件,上传速度快。但是我们还得打开xftp等一些传输软件。下载该安装包,一键上传,并且速度不比使用xftp等工具慢。

安装

  1. yum install- -y lrzsz #安装工具包

使用

安装完后,只需通过命令rz 即可开始上传文件。

运维常用工具包 - 图2

HTop

简介

大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势。如下:

  1. 两者相比起来,top比较繁琐
  2. 默认支持图形界面的鼠标操作
  3. 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行
  4. 杀进程时不需要输入进程号等

安装

  1. yum install -y htop #安装工具包

使用

  1. htop #即可进入htop界面

运维常用工具包 - 图3

以上各项分别为:

  1. PID:进行的标识号
  2. USER:运行此进程的用户
  3. PRI:进程的优先级
  4. NI:进程的NICE值,默认的为0,可以进行调整
  5. VIRT:进程占用的虚拟内存值
  6. RES:进程占用的物理内存值
  7. SHR:进程占用的共享内存值
  8. S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
  9. %CPU:该进程占用的CPU使用率
  10. %MEM:该进程占用的物理内存和总内存的百分比
  11. TIME+:该进程启动后占用的总的CPU时间
  12. COMMAND:进程启动的启动命令名称

热键

运维常用工具包 - 图4

Htop设定

鼠标点击或者按下F2

运维常用工具包 - 图5

可以对排列样式,颜色,显示信息进行更改。

Glances

glances是一个基于python语言开发,可以为linux或者UNIX性能提供监视和分析性能数据的功能。glances在用户的终端上显示重要的系统信息,并动态的进行更新,让管理员实时掌握系统资源的使用情况,而动态监控并不会消耗大量的系统资源,比如CPU资源,通常消耗小于2%,glances默认每两秒更新一次数据。同时glances还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和图形绘制,支持的文件格式有.csv电子表格格式和和html格式。
github地址:https://github.com/nicolargo/glances

安装方法:

  1. Centos下安装:
  2. yum install epel* -y
  3. yum -y install glances
  4. apt命令安装:
  5. sudo apt-get install glances
  6. pip安装:
  7. pip install glances
  8. pip install bottle #安装web界面
  9. glance -w #进入webserver界面

glances 使用方法

glances 是一个命令行工具包括如下命令选项:

-b:显示网络连接速度 Byte/ 秒

-B @IP|host :绑定服务器端 IP 地址或者主机名称

-c @IP|host:连接 glances 服务器端

-C file:设置配置文件默认是 /etc/glances/glances.conf

-d:关闭磁盘 I/O 模块

-e:显示传感器温度

-f file:设置输出文件(格式是 HTML 或者 CSV)

-m:关闭挂载的磁盘模块

-n:关闭网络模块

-p PORT:设置运行端口默认是 61209

-P password:设置客户端 / 服务器密码

-s:设置 glances 运行模式为服务器

-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值范围:1~32767

-h : 显示帮助信息

-v : 显示版本信息

Glances的使用

Glances 有 4 种颜色标记,分别表示不同的紧急程度:

绿色:OK

蓝色:CAREFUL

紫色:WARNING

红色:CRITICAL

绿色表示性能良好;(此时 CPU 使用率、磁盘空间使用率和内存使用率低于 50%,系统负载低于 0.7)。

蓝色表示系统性能有一些小问题,用户应当开始关注系统性能;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 50%-70% 之间,系统负载在 0.7-1 之间)。

品红表示性能报警,应当采取措施比如备份数据;(此时 CPU 使用率、磁盘空间使用率和内存使用率在 70%-90% 之间,,系统负载在 1-5 之间)。

红色表示性能问题严重,可能宕机;(此时 CPU 使用率、磁盘空间使用率和内存使用率在大于 90%,系统负载大于 5)。

glances 工作界面的说明 :

在图中 的上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。在图中的中上部是网络接口、Processes(进程)的使用情况。通常包括如下字段:

VIRT: 虚拟内存大小

RES: 进程占用的物理内存值

%CPU:该进程占用的 CPU 使用率

%MEM:该进程占用的物理内存和总内存的百分比

PID: 进程 ID 号

USER: 进程所有者的用户名

TIME+: 该进程启动后占用的总的 CPU 时间

IO_R 和 IO_W: 进程的读写 I/O 速率

NAME: 进程名称

NI: 进程优先级

S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:

h :显示帮助信息

q :离开程序退出

c :按照 CPU 实时负载对系统进程进行排序

m :按照内存使用状况对系统进程排序

i:按照 I/O 使用状况对系统进程排序

p:按照进程名称排序

d :显示磁盘读写状况

w :删除日志文件

l :显示日志

s:显示传感器信息

f :显示系统信息

1 :轮流显示每个 CPU 内核的使用情况

Axel

linux的多线程下载。

安装

  1. yum install -y axel #安装axel

使用

简略使用.”-n”线程数、”-o”下载保存目录、”-a”简略下载条。我们以下载wps for linux的64位rpm为例,正常下载速度在30k左右。用axel开20个下载呢:

  1. axel -n 20 -a -o /home/ http://kdl.cc.ksosoft.com/wps-community/download/6757/wps-office-10.1.0.6757-1.x86_64.rpm

其他参数

  1. --max-speed=x -s x 最大速度 (字节/秒)
  2. --num-connections=x -n x 最大连接数
  3. --output=f -o f 指定文件名
  4. --search[=x] -S [x] Search for mirrors and download from x servers
  5. --header=x -H x 添加header
  6. --user-agent=x -U x 设置用户代理
  7. --no-proxy -N 不使用任何代理
  8. --quiet -q Leave stdout alone
  9. --verbose -v 显示更多状态信息
  10. --alternate -a 显示简单进度条
  11. --help -h 帮助
  12. --version -V 版本信息

Cockpit

Cockpit 是红帽开发的网页版图像化服务管理工具,优点是无需中间层,且可以管理多种服务。
根据其项目主站描述,Cockpit 有如下特点:

  • 从易用性考虑设计,方便管理人员使用,而不是仅仅的终端命令按钮化。
  • 不会打乱已有终端或脚本服务配置,通过 Cockpit 启用的服务可以在终端停止,脚本运行的错误亦会被 Cockpit 捕获。
  • 支持一次性管理多个服务,实现自动化和批处理。
  • 系统存储信息查看。
  • docker容器监控。
  • 系统网络监控。
  • web命令行终端。
  • 界面友好的仪表盘。

    安装

    1. yum install -y cockpit cockpit-docker cockpit-machines cockpit-dashboard cockpit-storaged cockpit-packagekit #安装所需工具
    2. systemctl enable --now cockpit.socket #设置开机自启
    3. firewall-cmd --permanent --zone=public --add-service=cockpit #配置防火墙打开端口
    4. firewall-cmd --reload #重启防火墙

    登录

    localhost:9090
    直接输入root和密码即可登录
    image.png

多个功能

image.png