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 eno16777736:0  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

相关推荐

  • Linux文件系统管理

    一、什么是文件系统     我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。 二、文件系统类型     在linux系统上主要有如下类型的文件系统: &nbsp…

    Linux干货 2016-03-03
  • 浅谈Linux终端类型

    Linux终端类型 作者:任飞鹏            日期:2016-10-13 终端是什么: 终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。 早期计算机系统中,由于计算机主机…

    Linux干货 2016-10-19
  • bash特性

    一、命令历史     概念:shell进程能够将之前执行过的命令保存记录下来     存储位置:         1、命令历史的文件             使用以下环境变量查看相关参数:     &…

    Linux干货 2016-09-19
  • Linux用户、组和权限管理详解

    用户管理简要说明:     1.越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。     2.在Linux中主要是通过用户配置文件来查看和修改用户信息。 初始组和附加组     初始组:就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的…

    Linux干货 2016-08-05
  • N22-第一周练习作业-冥界之王

    1.描述计算机系统的组成及功能硬件组成(输入设备,输出设备,存储器,运算器,控制器) 输入设备:鼠标,键盘,麦克,声卡(输入声音),扫描仪,手写板等输出设备:显示器,声卡(输出声音),音箱,投影仪等存储器:内存,硬盘,磁带,CPU内部还可以分1,2,3级缓存运算器:主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CP…

    Linux干货 2016-08-15
  • 2016年8月6日作业练习

    练习: 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) [root@localhost ~]# grep -i "^[sS]" /proc/meminfo SwapCached:      &nb…

    Linux干货 2016-08-07

评论列表(1条)

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

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