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

#expect方式
yum -y install expect vim remote_ssh.sh
#!/usr/bin/expect
set ip [lindex $argv 0]
set password [lindex $argv 1]
set user [lindex $argv 2]
spawn ssh $user@$ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$password\n" }
}
interact [root@centos8 ~]#chmod +x ssh-remote.sh
[root@centos8 ~]# ./ssh-remote.sh 10.0.0.18 root P@SSW0RD #shell方式
[root@centos8 ~]#yum -y install sshpass
[root@centos8 ~]# vim ssh-remote.sh
#!/bin/bash
IP=$1
USER=$2
PASSWORD=$3 sshpass -p $PASSWORD ssh -o StrictHostKeyChecking=no $user@$ip [root@centos8 ~]#chmod +x ssh-remote.sh
[root@centos8 ~]#./ssh-remote.sh 10.0.0.18 root P@SSW0RD

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

vim max_min.sh
#!/bin/bash
declare -i min max
declare -a nums
for ((i=0;i<10;i++));do
nums[$i]=$RANDOM
[ $i -eq 0 ] && min=${nums[$i]} && max=${nums[$i]}&& continue
[ ${nums[$i]} -gt $max ] && max=${nums[$i]}
[ ${nums[$i]} -lt $min ] && min=${nums[$i]}
done
echo “Numbers are ${nums[*]}”
echo Max is $max
echo Min is $min

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

vim argssum.sh
read -p "请输入数值个数:" COUNT
declare -a nums
for ((i=0;i<$COUNT;i++));do
num[$i]=$RANDOM
done
echo "${num[@]}" declare -i n=$COUNT
for (( i=0; i<n-1; i++ ));do
for (( j=0; j<n-1-i; j++ ));do
let x=$j+1
if (( ${num[$j]} < ${num[$x]} ));then
#从大到小排列
tmp=${num[$x]}
num[$x]=${num[$j]}
num[$j]=$tmp
fi
done
done
echo ${num[*]}
echo "the max integer is $num,the min integer is ${num[$((n-1))]}"

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

CPU:
[root@localhost ~]#top
[root@localhost ~]#top -b -n 1 | grep Cpu | awk -F ',' '{print $4}' | awk '{print $1*10}'
997 内存:
[root@localhost ~]#free -mh |awk /Mem/'{print $3}'
#已使用内存
596M
[root@localhost ~]#free -mh |awk /Mem/'{print $2}'
#总大小
977M 硬盘:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 19.8G 0 part
├─centos-root 253:0 0 15.9G 0 lvm /
├─centos-swap 253:1 0 2G 0 lvm [SWAP]
└─centos-home 253:2 0 2G 0 lvm /home
sr0 11:0 1 1024M 0 rom [root@localhost ~]# lsblk|grep disk
#过滤出所有硬盘(disk)
sda 8:0 0 20G 0 disk
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
[root@localhost ~]#lsblk |grep disk|awk -F "[ G]+" '{print $4}'
20
20
20 i/o:
[root@localhost ~]#iostat -kx | grep sda| awk '{print $4}'
0.12

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

[root@localhost ~]#bash for.sh
1连通性 success
2连通性 success
3连通性 fail
4连通性 fail
5连通性 fail
6连通性 fail #!/bin/bash
for i in {1..254}
do
ping -c 3 192.168.91.$i &>/dev/null
if [ $? -eq 0 ]
then
echo "$i连通性 success"
else
echo "$i连通性 fail"
fi
done while
#!/bin/bash
i=1
while [ $i -lt 255 ]
do
ping -c3 192.168.91.$i &>/dev/null
if [ $? -eq 0 ]
then
echo "$i连通性 success"
else
echo "$i连通性 fail"
fi
let i++
done [root@localhost ~]#bash w.sh
1连通性 success
2连通性 success
3连通性 fail
4连通性 fail
5连通性 fail
6连通性 fail

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

[root@localhost ~]#cat back.sh
#!/bin/bash
name=`date -d -1day +%F-%H`
[ -e /backup ]
if [ $? -eq 0 ]
then cp -a /etc/* /backup/etcbak$name &>/dev/null
else
mkdir /backup
cp -a /etc/* /backup/etcbak$name &>/dev/null
fi
[root@localhost ~]#ln -s /data/back.sh /usr/local/bin/
[root@localhost ~]#crontab -e
30 1 * * 1-5 /usr/local/bin/back.sh
[root@localhost ~]#crontab -l
30 1 * * 1-5 /usr/local/bin/back.sh
[root@localhost ~]#bash back.sh

linux作业--第六周的更多相关文章

  1. Linux分析第六周——进程的描述和进程的创建

    Linux分析第六周--进程的描述和进程的创建 李雪琦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/US ...

  2. 20135302魏静静——linux课程第六周实验及总结

    linux课程第六周实验及总结 实验及学习总结 1.进程描述符task_struct数据结构 进程的作用: 将信号.进程间通信.内存管理和文件系统联系起来 操作系统的三大功能: 进程管理.内存管理.文 ...

  3. Linux内核分析作业第六周

    创建新进程的过程 一.进程的描述 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. 1.进程控制块PCB——task_struct 操作系统的三大管理功能 进程 ...

  4. Linux入门-第六周

    1.总结IP地址规划 IP地址的合理规划是网络设计中最重要的一环,在大型网络中必须对IP地址进行统一规划并得到实施.IP地址规划的好坏影响到网络路由协议算法的效率,影响到网络的性能,影响到网络的拓展, ...

  5. 团队作业第六周--alpha阶段项目复审

    组名 优点 缺点 排名 天冷记得穿秋裤队 支持文件离线下载,没有限速 部分功能未实现 1 中午吃啥队 点餐系统需求高,系统功能完善 界面可以再完善 2 小谷围驻广东某工业719电竞大队 项目贴近大学生 ...

  6. linux作业--第八周

    1.创建私有CA并进行证书申请. 配置文件存放路径 /etc/pki/tls/openssl.cnf [ CA_default ] dir = /etc/pki/CA # Where everythi ...

  7. linux作业--第五周

    1.简述osi七层模型和TCP/IP五层模型 一.OSI参考模型 (1) OSI的来源 OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO ...

  8. linux作业--第三周

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@localhost ~]# cat /etc/passwd | grep ...

  9. linux作业--第十一周

    1. 导入hellodb.sql生成数据库 (1) 在students表中,查询年龄大于25岁,且为男性的同学的名字和年龄 (2) 以ClassID为分组依据,显示每组的平均年龄 (3) 显示第2题中 ...

随机推荐

  1. 新一代Python包管理工具来了

    1 简介 说起Python的包管理工具,大家第一时间想到的肯定是pip.conda等经典工具.但最近我发现了一款新颖的Python包管理工具--pdm,它受到PEP582(https://www.py ...

  2. Redis 源码简洁剖析 06 - quicklist 和 listpack

    quicklist 为什么要设计 quicklist 特点 数据结构 quicklistCreate quicklistDelIndex quicklistDelEntry quicklistInse ...

  3. AGC005 部分简要题解

    E 首先注意到这个问题事实上非常复杂(两棵树上博弈),基础的转化无效,于是考虑简化情形. 手玩很多样例可以发现,似乎很容易出现无限循环的情况,进一步地,有观察: 若第一棵树上存在相邻点 \(u, v\ ...

  4. SpringAOP/切面编程示例

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11833954.html Spring AOP/切面编程实例和一些注意事项, 主要是利用注解来实 ...

  5. 直播流媒体ums

    准备工具 下载  UltrantMediaServer服务器 FlashMediaLiveEncoder测试直播工具 第一步 安装 UltrantMediaServer服务器 第二步 打开网也输入   ...

  6. notify()和wait()

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11398563.html notify() 和 wait() 主要是用来多个线程之间的协作. 它 ...

  7. Docker容器之搭建本地私有仓库

    Docker容器之搭建本地私有仓库 本地私有仓库搭建的具体步骤 首先下载 registry 镜像 docker pull registry 在 daemon.json 文件中添加私有镜像仓库的地址并重 ...

  8. GFS 分布式文件系统

    GFS 分布式文件系统 1.GlusterFS概述 : GlusterFS简介  a) GlusterFS是一-个开源的分布式文件系统. 由存储服务器.客户端以及NFS/Samba存储网关(可选,根据 ...

  9. Spark——统计文本中单词出现的次数

    示例一:统计所有单词出现的次数 1.在本地创建文件并上传到hdfs中 #vin data.txt //将文件上传到hadoop的根目录下 #hdfs dfs -put data.txt / 2.在sp ...

  10. 教你用Elastic Search:运行第一条Hello World搜索命令

    摘要:Elastic Search可实时对数据库进行全文检索.处理同义词.从同样的数据中生成分析和聚合数据. 本文分享自华为云社区<Elastic Search入门(一): 简介,安装,运行第一 ...