N27_网络班第八周作业

1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间所有主机的在线状态;
    在线的主机使用绿色显示;
    不在线的主机用红色表示;
1


#!bin/bash
#
for i in `seq 254`;do
        if ping -c 1 192.168.68.$i &> /dev/null;then
                echo -e "\033[32m192.168.68.$i\033[0m"
        else
                echo -e "\033[31m192.168.68.$i\033[0m"
        fi
done
~
2、如何给网络接口配置多个地址,有哪些方式?
~]# ifconfig ens33 192.168.68.130/24 up
~]# ip addr add 192.168.68.135 dev ens33
2
3、写一个脚本,完成以下功能
(1)假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干
(2)显示所有以K开头的文件的文件名,并且给其附加一个stop字符串
(3)显示所有以S开头的文件的文件名,并且给其附加一个start字符串
(4)分别统计S开头和K开头的文件各有多少?
#!/bin/bash
#
declare -i sumk
declare -i sums
sumk=0
sums=0

for i in $(ls /etc/rc.d/rc3.d);do
        if echo $i | grep "^K" &> /dev/null;then
        echo "$i stop"
        let sumk++
        else
        echo "$i start"
        let sums++
fi
done
echo -e "S开头的文件数:$sumk\nK开头的文件数:$sums"
4、写一个脚本,完成以下功能
(1)脚本能接受用户名作为参数
(2)计算这些用户的ID之和
#!/bin/bash
#
if [ $# -lt 1 ];then
        echo"请至少输入一个存在的用户名"
        exit 1
fi
declare -i sumid=0
for name in $@;do
        if id $i &>/dev/null;then
        let sumid+=$(id -u $name)
        else
        echo "$name 这个用户不存在"
        fi
done
echo "这些用户的id之和是$sumid"


[root@centos ~]# bash user12.sh asd ef
这些用户的id之和是2016
5、写一个脚本
(1)传递一些目录给此脚本
(2)逐个显示每个目录的所有一级文件或子目录的内容类型
(3)统计一共有多少个目录;且一共显示了多少个文件的内容类型
#!/bin/bash
#
declare -i dir=0
declare -i filetype=0
for i in $@;do
        if [ -d $i ];then
                for j in $i/*;do
                        file $j &> /dev/null
                        let filetype=$filetype+1
                        if [ -d $j ];then
                                let dir=$dir+1
                        fi

                done
        else
                echo "$i is not a dirfile or not exists"
        fi
echo "一共有目录$dir 一共有文件 $filetype"
done
6、写一个脚本
通过命令传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
#
if [ $# -ne 1 ];then
        echo"至少输入一个用户"
fi
if id $1 &>/dev/null ;then
        if [ $(id -u $1) -gt 500 ];then
        echo "这是普通用户"
        fi
else
        echo "没有这个用户"
fi
7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来

#!/bin/bash
#
for i in `seq 254`;do
        if ping -c 1 192.168.68.$i &> /dev/null;then
        echo "192.168.68.$i"
        fi
done
8、打印九九乘法表

#!/bin/bash
for i in {1..9};do
        for j in `seq $i`;do
                let num=$j*$i
                echo -n -e "$j*$i=$num\t"
        done
        echo
done

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87577

(1)
N27_flypigN27_flypig
上一篇 2017-09-27
下一篇 2017-09-29

相关推荐

  • 基于key验证和一些自动化运维工具

    pssh pscp.pssh Pslurp.pssh AIDE等

    2018-01-16
  • Tomcat安装及简单配置

    安装jdk: [root@stu ~]# rpm -ivh jdk-7u9-linux-x64.rpm #此为安装官方的版本(c6已经使用了openjdk)报错不用关心 查看安装位置: [root@stu ~]# rpm -ql jdk 目录: [root@stu&nb…

    Linux干货 2016-07-19
  • LVM逻辑卷管理练习

         小编今天要讲的内容是如何创建逻辑卷,然后扩展它、缩减它。LVM 的重点就在于可以弹性的调整文件系统的容量!所以,下面练习开始。 1、创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。 ①准备两个10G的…

    2017-08-26
  • bash编程之数组和字符串处理

    数组: 程序=指令+数据          指令:     数据:变量、文件 数组:存储过个元素的连续的内存空间; 变量:存储单个元素的内存空间; 数组名:整个数组只有一个名字; 数组索引:编号从0开始;   &nbsp…

    Linux干货 2016-08-24
  • ansible实战示例

    要求:     使用ansible部署以下任务:     (1) 在VS部署主/备模型的keepalived + nginx的负载均衡;     (2) 在RS主机上部署httpd + php + php-mysql;     (3) 在第五台主机上部署mariadb-serve…

    Linux干货 2016-11-11
  • Linux基础 & bash相关

    Q1:Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令: cd, ls, touch, cp, mv, rm, cat, tac, more, less, tail, head; 详细介绍以上命令: cd: 在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。 命令格式: ~]#&nbsp…

    Linux干货 2016-11-06