N26-第八周作业-邢岩

马哥门徒-N26-邢岩


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

     在线的主机使用绿色显示;

     不在线的主机使用红色显示;


#!/bin/bash

# Author: jeque
# Description: pingtest

for ((i=1;i<255;i++));do
  ping -w 1 -c 1 172.16.250.$i &> /dev.null
  if [ $? -eq 0 ];then
    echo -e “\e[1;32m 172.16.250.$i \e[0m”
  else
    echo -e “\e[1;31m 172.16.250.$i \e[0m”
  fi
done

N26-第八周作业-邢岩


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


   1) ip addr add IFADDR dev IFACE

          例如:ip addr add 192.168.10.99 dev eth0

   2) ifconfig IFACE_LABEL IPADDR/NETMASK

          例如:ifconfig eth0:0 192.168.1.0/24

    3) /etc/sysconfig/network-scripts/ifcfg-IFACE

例如:

N26-第八周作业-邢岩


3、写一个脚本,完成以下功能

   (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;

   (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;

   (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;

   (4) 分别统计S开头和K开头的文件各有多少;


#!/bin/bash

# Author: jeque
# Description: pingtest

declare Ssum=0 Ksum=0

for i in $(ls /etc/rc.d/rc3.d); do
    if [ $( echo “$i” | cut -c 1-1) == “S” ];then
       echo “start_$i”
       let Ssum++
    elif [ $( echo “$i” | cut -c 1-1) == “K” ];then
       echo “stop_$i”
       let Ksum++
    fi
done
echo -e “K head file is $Ksum.\nS head file is $Ssum.”

N26-第八周作业-邢岩


4、写一个脚本,完成以下功能

   (1) 脚本能接受用户名作为参数;

   (2) 计算这些用户的ID之和;


#!/bin/bash

# Author: jeque
# Description: userid sum

while read line;do

    userid=$(echo $line | cut -d: -f3)

    let sum+=$userid

done < /etc/passwd

echo “User id sum is:$sum.”

N26-第八周作业-邢岩


5、写一个脚本

   (1) 传递一些目录给此脚本;

   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;

   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;


#!/bin/bash

# Author: jeque
# Description:

declare -i sumd=0
declare -i sumf=0
if [ $# -lt 1 ];then
   echo “usage $0 arg1 arg2 …”
   exit 1
fi

for i in $*; do
     [ ! -d $i ] && continue
     file $i/*
     dirtype=$(file $i/* | grep -c “directory$”)
     filetype=$(file $i/* | awk ‘{print $0}’ | sort | uniq | wc -l)
     let sumd+=dirtype
     let sumf+=filetype
done

echo “dir:$sumd,file:$sumf.”

N26-第八周作业-邢岩

N26-第八周作业-邢岩


6、写一个脚本

  通过命令行传递一个参数给脚本,参数为用户名;

  如果用户的id号大于等于500,则显示此用户为普通用户;


#!/bin/bash

# Author:jeque
# Description: username type
username=$1
if id “$username” &> /dev/null;then
    userid=$(grep “^$username\>” /etc/passwd |cut -d: -f3)

    if [ $userid -ge 500 ];then
echo “$username is common user.”
   else
        echo “$username is sys user.”
   fi
else
    echo “$username not exists!”
    exit 2
fi

N26-第八周作业-邢岩

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


#!/bin/bash

# Author:jeque
# Description:pingtest
for i in {20..100};do
    if ping -c 1 172.16.250.$i &> /dev/null;then
         echo “172.16.250.$i is UP”
    else
        continue
    fi
done

N26-第八周作业-邢岩


8、打印九九乘法表;


#!/bin/bash

# Author:jeque
# Description: multi table
for j in {1..9};do
    for i in $(seq 1 $j);do
        echo -n -e “${i}X${j}=$[${i}*${j}]\t “
    done
echo
done

N26-第八周作业-邢岩


今天就到这里了,bye!N26-第八周作业-邢岩

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

(0)
jequejeque
上一篇 2017-03-23 20:05
下一篇 2017-03-25 13:12

相关推荐

  • mogilefs部署

    mogilefs实验环境: 1.需要两台tracker主机 2.一台mariadb 3.nginx_mogilefs_module模块要编译安装 在tracker主机: 1.上下载rpm包 mkdir mogilefs/ cd mogilefs lftp 172.16.0.1 get MogileFS-Server-2.46-2.el7.centos.noa…

    Linux干货 2017-08-08
  • M20 – 1- 第二周(2):硬链接与软链接的区别

    在讲硬链接与软链接的区别之前,我们首先了解inode,了解inode让我们更容易理解何为硬链接和软链接。 inode概念        何为inode,inode就是索引节点,而inode表中存放着文件的元数据,何为元数据,元数据就是文件名称、大小、时间戳、所有者、权限、inode等信息,而文件中的内容就是文件的数据,…

    Linux干货 2016-08-02
  • 用户、组及文件相关的一些命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1,因为是目录文件所以要有-r ls -ld /etc/skel chmod 000 -R /home/tuser1 ls -al /home/tuser1/ 2、编辑/…

    2017-07-23
  • 【超全整理】《Linux云计算从入门到精通》系列实战笔记全放送

          为了方便Linux云计算爱好者的学习查看,马哥Linx云计算团队特别整理了《Linux云计算从入门到精通》年度重磅大放送,囊括了整个学习过程的学习精华,内容全部由马哥Linux云计算学员撰写,欢迎大家支持!!!       详情请看:  一、Linux运维基础实战入门 从Linux0基础入门开始,全面讲解作为新手如何学习Linux,以及学习方法和…

    2017-09-14
  • ​文本编辑器nano

    新建/打开文件     nano 路径+文件名,文件存在则为打开,否则新建;(未输入文件名,编辑完成后,保存退出会提示输入文件名); nano     note:nano中,黑底白字表示快捷键操作。其中“^”表示Ctrl键,则Ctrl+G就表示成“^G”。“M”表示 Alt键,则Alt+W表示为“M…

    Linux干货 2016-05-05
  • 逻辑卷小结

    逻辑卷 逻辑卷:把不同大小的物理设备,抽象成一个完整的文件系统,方便对物理设备的管理与应用。 其基本步骤为: 1.将指定的设备设置为物理卷     物理卷是指定大小的固定得物理区域 2.用一个或者多个物理卷创建一个卷组 3.创建逻辑卷     在物理卷上创建的逻辑卷由物理区域组成…

    Linux干货 2016-09-01

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-30 14:25

    测试了部分代码,功能都没有问题,但作为博客来讲,代码可读性也是非常重要的,再接再励。