一、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。

1)安装expect

第六周作业_shell脚本

 

 2)expect脚本

第六周作业_文件名_02

 

 3)shell脚本

第六周作业_shell脚本_03

 

 

二、生成10个随机数保存于数组中,并找出其最大值和最小值。

第六周作业_数组_04

 

 

三、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序。

 

这题太复杂不会

 

四、总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来)。

free的使用

1)查看内存使用情况

第六周作业_for循环_05

 

 第六周作业_缓存_06

 

 

2)手动清除buff/cache缓存

第六周作业_shell脚本_07

 

 

2、iostat使用

1)首先安装

第六周作业_数组_08

 

 2)

-d 显示磁盘使用状态;
-k 以K为单位;
-m 以M为单位;
5 每隔5秒刷新一次。

第六周作业_文件名_09

 

 第六周作业_for循环_10

第六周作业_for循环_10

 

 

3、vmstat使用

第六周作业_缓存_12

r         等待运行的进程数。

b        处在非中断睡眠状态的进程数。

w       被交换出去的可运行的进程数。

swpd  虚拟内存使用情况,单位为KB。

free    空闲的内存,单位为KB。

buff    被用来作为缓存的内存数,单位为KB。

4、 sar使用

1)cpu资源监控。

每10秒采样一次,连续采样3次,观察CPU的使用情况。

第六周作业_shell脚本_13

CPU             all 表示统计信息为所有 CPU 的平均值。

%user          显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice          显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system     在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait       显示用于等待I/O操作占用 CPU 总时间的百分比。

%steal        管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

%idle          显示 CPU 空闲时间占用 CPU 总时间的百分比。

2)inode、文件和其他内核表监控。

第六周作业_for循环_14

 

 5、Top的使用。

第六周作业_缓存_15

 

第一行系统运行时间和平均负载。

第二行Tasks任务

第三行CPU

第四行Mem

第五行Swap

五、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

1)for循环

数字部分在for循环中常见的几种方法。

1. for i in {1..10};do echo $i ;done
2. for i in 1 2 3 4 5 6 7;do echo $i ;done
3. for i in `seq 10`;do echo $i ;done
4. for((i=1;i<10;i++));do echo $i ;done

第六周作业_for循环_16

 

 2)while循环。

2.1while的第一种做法。

在while头上设置好条件,当不满足条件则退出。

第六周作业_文件名_17

 

 2.2)while的第二种做法。

使用while True的方法,但必须有退出条件,当满足退出条件则break出循环。

第六周作业_for循环_18

 

 

五、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间。

每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间。

1)备份脚本。

第六周作业_缓存_19