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

相关推荐

  • History,Help——Linux基本命令(6)

    1.     history   当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。 history是shell的内置命令,其内容在系统默认的shell的man手册中。 一些用法: history[-c] [-d offset] [n] …

    2017-07-15
  • AIX 6.1 硬件基本管理

    查看整体的硬件信息:          # prtconf #将所有系统信息输出到屏幕上显示          # lsdev -C #查看硬件设备信息及其工作状态 注:硬件的设备通常为2 种状态,"availiable"表示设备可用,de…

    Linux干货 2015-10-18
  • HipHop PHP实战(详解web运行模式)

    Note: These code examples assume the HipHop compiler is fully built. 1 . Setting Up Your Environment (构建环境) To get started, you need to configure two environment variables. cd…

    Linux干货 2015-04-10
  • GNU awk

    文本处理三工具:grep, sed, awk grep, egrep, fgrep:文本过滤工具;pattern sed: 行编辑器 模式空间、保持空间 awk:报告生成器,格式化文本输出;  AWK: Aho, Weinberger, Kernighan –> New AWK, NAWK  GNU awk, gawk&…

    Linux干货 2015-12-03
  • 系统基础之sed工具详解

    sed工具详解 NAME:  sed – stream editor for filtering and transforming text(实现文本替换和过滤功能)  类型: 行编辑器(流) 特点: 把文件中的每一行加载到内存中,匹配模式,把能够匹配到模式的内容输出到屏幕,不修改原文件 工作模式:   每一次读取一…

    Linux干货 2016-08-10
  • 任务计划管理

    一:单一工作调度:at命令       列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序。必须正在运行“计划”服务才能使用 at 命令。 示例: [root@CentOS 6 ~]#/etc/init.d/atd restart   启动服务 …

    Linux干货 2016-09-12

评论列表(1条)

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

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