N25第八周博客作业

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

#!/bin/bash

trap ‘mytrap’ INT

mytrap() {

   echo “quit”

   exit 1

}

for i in {1..254};do

        if ping -W 1 -c 1
172.16.150.$i&>/dev/null;then

                echo -e
“\033[32m172.16.250.$i\033[0m”

        else

                echo -e
“\033[31m172.16.250.$i\033[0m”

        fi

done

 


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

ifconfig NETWORK_NAME:# IPADDR/MASK

例如:ifconfig eno167777360  192.168.1.6/24

ip addr add NETWORK/MASK dev NETWORK_NAME label NETWORK_NAME:0

     例如:ip addr add 192.168.1.7/24 dev eno16777736 label eno16777736:0

 


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

#!/bin/sh

declare -a start

declare -a stop

for i in /etc/rc.d/rc3.d/S*;do

  echo “${i}  start”

  start[${#start[*]}]=$i

done

for l in /etc/rc.d/rc3.d/K*;do

  echo “${l}  stop”

  stop[${#stop[*]}]=$l

done

echo “^S have 
${#start[*]}”

echo “^K have 
${#stop[*]}”

     

                            or

 

#!/bin/sh

declare -a mysz

mysz() {

for i in /etc/rc.d/rc3.d/${1}*;do

  echo “${i}  $2”

done

 echo “^${1} files  have `ls /etc/rc.d/rc3.d/${1}*| wc -w`”

}

mysz S  start

mysz K  stop


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

#!/bin/sh

b=0

for i in $*;do

  if id -u $i
&>/dev/null;then

     echo “$i ID is `id
-u $i`”

     a=`id -u $i`

     let b+=$a

  else

    echo “$i not found
!!”

    exit 1

  fi

done

echo “all users ID is $b”

 


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

#!/bin/sh

sumf=0

sumd=0

trap
‘echo -en “dir $sumd\n”;echo -en “file $sumf\n”;exit 1’ INT

 

f_type()
{

local f

local
file_path

if [ -d
$1 ];then

  for f in `ls $1`;do

    file_path=${1}/$f

    [ -d $file_path ]&&let
sumd++&&f_type $file_path

    [ -f $file_path ]&&let sumf++

    file $file_path

  done

else

  echo “not dir!!”

  continue

fi

}

 

for i
in `seq 1 $#`;do

  f_type $1

done

 

echo
“dir $sumd”

echo
“file $sunf”

 


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

#!/bin/sh

aa() {

  
echo “no user!!”

  
exit 1

}

id $1&>/dev/null  || aa

if [ `id -u $1` -ge  500 ];then

        echo “$i is a Ordinary
user!!”

fi

 


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

#!/bin/sh

mytrap() {

        echo “quit”

        exit 1

}

trap ‘mytrap’ INT

for i in {20..100};do

        if      ping -W 1 -c 1 172.16.250.$i
&>/dev/null;then

                echo
“172.16.250.$i”

        fi

done

 


8
、打印九九乘法表;

#!/bin/sh

for ((i=1;i<=9;i++));do

  for ((a=1;a<=$i;a++));do

     echo -n  -e 
“${a}x${i}=$[${a}*${i}]\t”

  done

  echo

done

 

or

 

#!/bin/sh

a=1

while [ $a -le 9 ];do

   for i in `seq 1 $a`;do

      let b++

      echo -en
“${i}x${a}=$[${i}*${a}]\t”

   done

   let a++

   echo

done

~     

原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/70092

(0)
N25_韩奇洋N25_韩奇洋
上一篇 2017-02-26 11:33
下一篇 2017-02-26 14:29

相关推荐

  • DNS高级应用

        DNS高级应用     1、主从复制      应用场景: (1)、当主DNS服务器压力过大,无法正常处理过多的DNS解析请求时,从DNS服务器可以起到负载均衡的作用。 (2)、当主DNS服务器出现故障时,从DNS服务器可以为其提供冗余备份功能。     实验环…

    Linux干货 2015-06-18
  • N25 the second week

    1.文件管理命令 1.1.cat concatenate files and print on the standard output # 正序打印文件 cat [OPTION]… [FILE]… # 常用参数 -n 编号显示每行 -E 显示每行的结束符 1.2.tac concatenat…

    Linux干货 2016-12-19
  • 马哥教育网络班22期+第一周课程练习

    计算机的组成及其功能 计算机主要由五大部分组成:控制器、运算器、存储器、输入设备、输出设备,即CPU(控制器、运算器)、内存、I/O(输入/输出设备)。 控制器 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器 对数据进行各种算术运算和逻辑运算,即对数据…

    Linux干货 2016-08-15
  • shell脚本编写-5

      1、 数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合 数组名和索引 索引:编号从0 开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。而且bash 的数组支持稀疏格式(索引不连续) 1)、定义数组 声明数组: declare -a …

    Linux干货 2016-09-01
  • 系统服务之LVS 集群

    Linux集群(Cluster) 一.概论 1.定义     Cluster:计算机集合;     linux集群,多台Linux主机为解决某个特定问题组合起来形成的单个系统;     由于现代化业务上线的需求, 单服务器已经不能…

    Linux干货 2016-10-28
  • 第十三周作业

    “1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; …

    Linux干货 2017-08-13

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-29 17:17

    脚本功能都已经实现了,但是没有经过着色的代码看起来着实很痛苦,内容固然重要,但也要同时注意可读性。