N25期–第八周作业

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

#!/bin/bash

declare -i i=1

hostping(){
    if ping -W 1 -c 1 172.16.250.$i &> /dev/null;then
        echo -e "\033[32m 172.16.250.$i is up.\033[0m" 
    else 
        echo -e "\033[31m 172.16.250.$i is down.\033[0m"

    fi
    }
    while [ $i -le 255 ]; do
    hostping 172.16.250.$i
    let i++ 

    done

2、如何给网络接口配置多个地址,有哪些方式?

1、ifconfig命令

ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up

2、修改配置文件信息

vim /etc/sysconfig/network-scripts/ifcfg-eth0:0

DEVICE=eth0:0 //虚拟网络接口,随意 
ONBOOT=yes //系统启动时激活 BOOTPROTO=static //使用静态ip地址 
IPADDR=192.168.6.100 //该虚拟网络接口的ip别名,随意 NETMASK=255.255.255.0 //子网掩码,对应ip别名 GATEWAY=192.168.6.1 //网关,对应ip别名 HWADDR=00:10:5A:5E:B1:E4 //网卡MAC地址,无需更改 
USERCTL=no //是否给予非root用户设备管理权限

CentOS 7
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
ONBOOT="yes"
HWADDR="08:00:27:3F:AB:68"
IPADDR0="192.168.1.150"
IPADDR1="192.168.6.100"
IPADDR2="192.168.6.101"
PREFIX0="24"
GATEWAY0="192.168.1.1"
DNS1="192.168.1.1"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"

3、写一个脚本,完成以下功能 (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干; (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串; (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; (4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
declare i j=0
declare i k=0

for i in `ls /etc/rc.d/rc3.d/`;do

    if  [[ $i =~  ^K ]];then    
        echo "$i stop"
    let j++

    elif [[ $i =~  ^S ]];then   
        echo "$i start"
    let k++

    fi
done

    echo "共$j个文件以K开头"
    echo "共$k个文件以S开头"

4、写一个脚本,完成以下功能 (1) 脚本能接受用户名作为参数; (2) 计算此些用户的ID之和;

#!/bin/bash
declare -i sum=0
if [ $# -le 0 ];then                           
  echo "Useage:bash.sh name1 name2..." 
  exit 1
fi

for i in $@;do                                 
  if id $i &> /dev/null;then                   
    let sum+=$(id -u $i)                      
  else
    echo "$i : does not exist!"                
  fi
done
echo "All user id: $sum"

5、写一个脚本 (1) 传递一些目录给此脚本; (2) 逐个显示每个目录的所有一级文件或子目录的内容类型; (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash

declare -i file=0
declare -i sfile=0
declare -i dir=0
declare -i sfile=0
declare -i other=0


for path in $@ ;do
       if [ -f $path ]; then                
       echo "$path is a Common file."
       let file++
   elif [ -L $path ]; then                  
       echo "$path is a Symbolic file."
       let sfile++
   elif [ -d $path ]; then                
       echo "$path is a Directory."
       let dir++
   elif [ -S $path ];then                   
       echo "$path is a socket file."
       let sfile++
   else
       echo "Other type."                   
       let other++


       fi
done
echo "Common file $file"
echo "Symbolic file $sfile"
echo "Directory $dir"
echo "socket file $sfile"
echo "Other type $other"

6、写一个脚本 通过命令行传递一个参数给脚本,参数为用户名 如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash

read -p "please enter a use name " username

        user_id=`id -u $username`

if (id $username &> /dev/null); then
        if [ $user_id -gt 500 ]; then
                echo "$username is a common user."

        else
                echo "$username is a system user."
        fi
else
        echo "$username not exist"
fi
done

7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;

#!/bin/bash
#
net="172.16.250"
    for i in {20..100};do
        if ping -c 1 -w 1 $net.$i &> /dev/null;then     
        echo " $net.$i is online "

        fi
    done

8、打印九九乘法表;

#!/bin/bash
for ((i=i;i<=9;i++)){
        for((j=1;j<=i;j++));do
        echo -n -e "$[i]x$[j]=$[$i*$j]\t"
 done   
        echo
}

 

原创文章,作者:victorli88,如若转载,请注明出处:http://www.178linux.com/66905

(0)
victorli88victorli88
上一篇 2017-02-27
下一篇 2017-02-27

相关推荐

  • 第九周脚本练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; awk -F: ‘{if($NF!=”/sbin/nologin”) print $1}’ /etc/passwd | wc -l 2、写一个脚本 (1) 获取当前主机的主机名,保存于ho…

    Linux干货 2017-03-30
  • python env seup

    ffffffffffffffffffffffffffffffffffffff

    2018-03-12
  • linux下的打包与压缩

    linux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tar,bzip2,xz 和gzip等,我们来说说它们的用法。 先来说bzip2。bunzip2和bzcat可以由bzip2指定选项来执行同样的结果,这里只介绍bzip2的用法。使用bzip2这个工具创建的文件以.bz2,.bz,.tbz,.tar.bz2或者…

    Linux干货 2017-04-16
  • 浅谈netbios及其相关内容

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/141086        Netbios想必大家都有接触。对于netbios的理解,我以前…

    Linux干货 2015-03-26
  • Linux基础 & bash基础特性

    Q1:描述计算机的组成及其功能。 计算机的组成:运算器、控制器、存储设备、输入设备、输出设备。 运算器: 运算器是计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件。 存储设备: 计算机总是需要记录与读取数据的,而这些数据当然不可能每次都由用户经过键盘…

    Linux干货 2016-10-30
  • 运维架构之httpd

    Web Service 传输层:提供进程地址 Port number tcp:传输控制协议,面向连接,通信前需建立虚拟链路,结束后拆除;0-65535 udp:用户数据报协议,无连接;0-65535 IANA 0-1023:众所周知,永久分配给固定应用使用;22/tcp(ssh)、80/tcp(http)、443/tcp(https) 1024-41951:…

    系统运维 2018-06-04