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

相关推荐

  • OSI和TCP/IP

            我们生活中各方面都离不开网络,那网络究竟是什么东西呢?它是怎么做到让在不同地点的人无视空间距离完成通信的呢?首先我们来了解一下网络的基本概念。网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体…

    2017-09-02
  • 作业:0803日

    1:三种权限rwx对文件和目录的不同意义:       对文件: r:能够查看文件内容 w:修改文件内容 x:执行文件,通常文件的执行权限能够发起一个进程       对目录: r: 能够cd进目录,使用ls查看目录内的文件列表 w: 能够…

    Linux干货 2016-08-05
  • Linux系统启动流程、内核及模块管理、linux启动故障排除和自制linux

    Linux系统启动流程、内核及模块管理 Linux系统的组成部分组成:内核+根文件系统(kernel+rootfs)内核(kernel): 进程管理(创建、调度、销毁等)、内存管理、网络管理(网络协议栈)、驱动程序、文件系统、安全功能IPC:Inter Process Communication机制本地进程间通信机制:消息队列、semerphor、shm(共…

    2016-09-29
  • 运维自动化之系统安装

    自动化安装系统,cobbler的安装使用

    Linux干货 2018-01-15
  • LAMP平台基于NFS实现web服务器负载均衡

    前言 随着访问量的逐渐增大,一台web服务器可能已经无法满足需求,这就需要增加web服务器的数量了,于是问题就来了:如何保证两台服务器数据同步呢?本文将讲解如何基于NFS实现web服务器的负载均衡及数据同步。 NFS服务介绍 NFS(Network File System)网络文件系统,允许一个系统通过网络共享目录和文件,通过使用NFS,用户和程序可以像访问…

    Linux干货 2015-04-22
  • 文件查找find与压缩

    1.locate:   locate是查询系统上预建的文件索引数据库    /var/lib/mlocate/mlocate.db   依赖于事先构建的索引   索引的构建是在系统较为空闲时自动进行(周期性任务),管理 员手动更新数据库(updatedb)    缺点:索引构建过…

    Linux干货 2016-08-18