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

#使用expect远程登录
[root@centos8 ~]#dnf -y install expect
[root@centos8 ~]#yum info expect
Last metadata expiration check: 0:01:31 ago on Fri 01 Oct 2021 01:14:22 AM CST.
Installed Packages
Name : expect
Version : 5.45.4
...
[root@centos8 ~]#vim remote_login_expect.sh
#!/usr/bin/expect
spawn ssh 10.0.0.128
expect {
"*yes/no" { send "yes\n";exp_continue }
"password" { send "password\n";exp_continue }
"*]#" { send "hostname -I\r" }
}
interact #执行验证
[root@centos8 ~]#chmod +x remote_login_expect.sh
[root@centos8 ~]#./login.sh
spawn ssh 10.0.0.128
root@10.0.0.128's password:
Last login: Fri Oct 1 01:47:30 2021 from 10.0.0.131
[root@centos7 ~]#hostname -I
10.0.0.128 #shell脚本调用expect #!/bin/bash
ip=10.0.0.128
user=root
passwd=486.
expect <<EOF
spawn ssh $user@$ip
expect {
"*yes/no*" { send "yes\n";exp_continue }
"password" { send "$passwd\n";exp_continue}
"*]#" { send "hostname -I\r" }
}
expect eof
EOF #执行脚本验证
[root@centos8 ~]#./login.sh
spawn ssh root@10.0.0.128
root@10.0.0.128's password:
Last login: Fri Oct 1 02:15:03 2021 from 10.0.0.131
[root@centos7 ~]#hostname -I
10.0.0.128
[root@centos7 ~]#

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

[root@centos7 ~]#cat max_min.sh
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 array are ${nums[*]}
echo max is $max
echo min is $min #执行验证
[root@centos7 ~]#bash max_min.sh
array are 13080 933 1678 2268 22196 31395 4216 19184 31842 11791
max is 3184

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

#!/bin/bash
declare -a num
read -p "请输入生成随机数个数:" number
for (( i=0;i<$number;i++ ));do
num[$i]=$RANDOM
done
echo "before sort:${num[*]}"
declare -i n=$number
for (( i=0;i<n-1;i++ ));do
for ((j=0;j<n-1;j++));do
let next=$j+1
if (( ${num[$j]} > ${num[$next]} ));then
tmp=${num[$next]}
num[$next]=${num[$j]}
num[$j]=$tmp
fi
done
done
echo "after sort:${num[*]}"

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

uptime、mpstat、top、htop
top 提供动态的实时进程状态
PID:进程id
USER:用户
PR:权重,优先级
VIRT:虚拟内存
RES:常驻内存
SHR:共享内存
S:进程状态,R表示运行
%CPU:cpu的占用率
%MEM:内存的占用率
TIME+:执行时间
COMMAND:进程的名称/路径

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

#!/bin/bash
net="192.168.0"
multi_ping() {
ping -c2 -i0.1 -W1 $1 &> /dev/null
if [ $? -wq 0 ];then
echo "success!"
else
echo "fail!"
fi
}
for i in {0..255}
do
multi_ping $net.$i &
done
wait

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

[root@centos8 ~]#cat bak_etc.sh
#!/bin/bash
[ -d /backup ] || mkdir /backup
bak_file="/backup/etcbak-`date -d "-1 days" +%Y-%m-%d-%H`.tar.xz"
tar -cxvf /$bak_file /etc [root@centos8 ~]#crontab -e
30 1 * * 1-5 /root/bak_etc.sh

linux_6的更多相关文章

  1. mark LINUX_6.8 python_2.6.6 setup版本升级 python 2.7.9 安装 pip 临时使用国内镜像源库 指定模块版本 删除指定模块

    简单但却又经常需要使用  网上  贴子也很多  也经常用  所以 做个mark 吧: 1首先下载python2.7.9 源tar包 源码安装 可利用linux自带下载工具wget下载,如下所示:   ...

  2. 【前端】CentOS 7 系列教程之六: 安装 mysql 5.7

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/linux_6.html 进入/usr/local/src目录 cd /usr/local/src 下载mysql的 ...

随机推荐

  1. Spring @Valid 和 @Validated 的区别和使用

    两者区别 @Valid @Validated 标准 标准JSR-303规范 增强JSR-303规范 包 javax.validation org.springframework.validation ...

  2. [学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询

    运算符 符号 解释 + 加法 - 减法 * 乘法 / 除法,结果是浮点数 = 等于 > 大于 < 小于 <>或者!= 不等于 >= 大于或者等于 <= 小于或者等于 ...

  3. 《MySQL5.7从入门到精通》(高清).PDF,免费无需任何解压密码

    链接:https://pan.baidu.com/s/1nnm5IbExaBhjL6-7qR1Oxw 提取码:vzpx

  4. Git_添加、删除远端仓库中的文件

    一.将文件添加到远端仓库 1.新增文件 2.使用git add 将文件添加到本地缓存中 3.使用git commit 将文件添加到本地仓库中 4.使用git push 将本地仓库中的修改同步到远端仓库 ...

  5. CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法

    故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...

  6. Java 简单操作hdfs API

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6632047118376780295/ 启动Hadoop出现问题:datanode的clusterID 和 name ...

  7. 大厂面试来了,欢聚时代四年多经验的Java面经

    前言(也就是废话) 今年年底,额,不对,应该说是去年了,我开始进行了一个多月的面试之旅. 面试的公司并不多,但从体量上来看,基本算是一二三线的大厂都囊括了,其中还包括BAT,当然,最后我也是顺利的拿到 ...

  8. HDU 2084 数塔 (动态规划DP)

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 题目分析:此题采用动态规划自底向上计算,如果我们要知道所走之和最大,那么最后一步肯定是走最后一排 ...

  9. RabbitMQ除开RPC的五种消模型----原生API

    2.五种消息模型 RabbitMQ提供了6种消息模型,但是第6种其实是RPC,并不是MQ,因此不予学习.那么也就剩下5种. 但是其实3.4.5这三种都属于订阅模型,只不过进行路由的方式不同. 通过一个 ...

  10. Android中添加监听回调接口的方法

    在Android中,我们经常会添加一些监听回调的接口供别的类来回调,比如自定义一个PopupWindow,需要让new这个PopupWindow的Activity来监听PopupWindow中的一些组 ...