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
下一篇 2017-03-25

相关推荐

  • find、locate、Gnome文件查找工具

    查找命令:         locate:非实时查找         find:实时查找         Gnome:图形化搜索工具 locate: 描述:查询系统上预建的文件索引数据库/var/lib/mlocate/mlocate.db,一天更新一次更新数据库:updatedb特点:依赖于事先构建的索引。索引的构建是在系统较为空闲时自动进行(周期性任务)…

    Linux干货 2017-11-26
  • 文件查找与解压缩

    文件查找 脚本文件名的查询 which(寻找执行文件) which [-a] command -a :将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令名称 文件名的查找 文件查找:实时查找:遍历所有文件进行条件匹配;(find)非实时查找:根据索引查找;(whereis、locate) whereis whereis [-bmsu] […

    Linux干货 2017-04-08
  • N22+北京zhangzhangzhang+第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1    ls -ld /home/tuser1   &nb…

    Linux干货 2016-09-05
  • ###N25-Bazinga-第一周作业

    ###N25-Bazinga-第一周作业— 1,描述计算机的组成及其功能         计算机基本组成有五部分:     计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出…

    Linux干货 2016-12-06
  • 搭建简单的ftp和http

    搭建简单的ftp和http 我们主要尝试光盘和编译两种方式安装 ftp 首先我们先安装ftp ftp可以用来做文件传输,也可以搭建ftp作为我我们的网络yum源 首先我们要先把镜像连接到我们的Linux中 进入/etc/yum.repos.d/创建一个.repo结尾的文件,在里面配置自己的yum源 [base] baseurl=file:///misc/cd…

    2017-06-15
  • N25_第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell [root@EASTED ~]# grep -E "(root|fedora|user1)" /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:o…

    Linux干货 2017-01-10

评论列表(1条)

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

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