Linux第八周小结

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

在线的主机使用绿色显示

不在线的主使用红色显示

#!/bin/bash
#
for i in {1..254};do
  if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then
    echo -e "\033[32m 192.168.1.$i \033[0m is up"
  else
    echo -e "\033[31m 192.168.1.$i \033[0m is down"
  fi
done

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

a) 使用ifconfig命令

例如 ifconfig eno16777736:0 192.168.0.100/24

b) 使用Ip addr命令

例如 ip addr add 192.168.0.101/24 dev eno16777736

c) 通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

d) 使用nmtui命令

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

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

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

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

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

#!/bin/bash
#
declare -i n=0
declare -i m=0

for i in $(ls /etc/rc.d/rc3.d); do

   if [ $(echo $i | cut -c 1)  == "K" ]; then
      echo "$i stop"
      let n++
   elif [ $(echo $i | cut -c 1) == "S" ]; then
      echo "$i start"
      let m++
   fi

done

echo "K is $n S is $m."

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

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

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

#!/bin/bash
#
declare -i sum=0

for i in $@; do
   if ! id $i &> /dev/null; then
      echo "$i is not user"
   else
       let sum=$sum+$(id -u $i)
   fi
done

echo "uid sum = $sum"

5、写一个脚本

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

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

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

#!/bin/bash
#
declare -i m=0
declare -i n=0

for i in $@;do
   if [ -d $i ];then
     for x in $i/*;do
       echo $x
       let m++
       if [ -d $x ];then
         echo $x
         let n++
       fi
    done
   else
      echo "$i is not a dir or not file"
fi

done

echo " dir = $n   file = $m "

6、写一个脚本

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

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

#!/bin/bash
#
uname=$1
if id $uname &> /dev/null ;then
   if [ $(id -u $uname) -ge 500 ];then
      echo "this is a normal user"
   else
       echo "Not an ordinary user"
   fi
else
   echo "not a user"
fi

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

#!/bin/bash
#
for i in {20..100};do
   if ping -c 1 172.16.250.$i &> /dev/null;then
   echo "172.16.250.$i is online"
   fi
done

8、打印九九乘法表

#!/bin/bash
#
for i in 'seq 1 9';do
   for j in 'seq 1 $i';do
      echo -n -e "${j}X${i}=$[$j*$i]\t"
   done
   echo
done

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

(0)
N27_yunerN27_yuner
上一篇 2017-08-19 22:30
下一篇 2017-08-20 11:02

相关推荐

  • Linux系统终端类型

    引言 终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。在早期计算机系统中,由于计算机主机昂贵,因此一个主机一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成,在个人计算机时代,个人计算机可以运行称为终端仿真器的程序来模仿一个终端的工作。 &…

    Linux干货 2016-10-19
  • echo显示闪烁,screen用法及显示时间的前后

    我们这门今天学习的一些主要内容 标准的命令的格式 命令(COMMAND)  [选项(OPTIONS)….[参数(ARGUMENTS…)] 选项:启用或者关闭命令的某个或某些功能 参数:命令作用的对象,比如文件名,用户名等 首先我们来统计一下学习到的linux的一些基础的命令 who  查询当前用户 hostname 显…

    Linux干货 2016-08-04
  • LINUX用户建立秘钥认证实现SHELL脚本管理,分发,部署

    环境介绍 SSH Server [root@vm1 ~]# ifconfig |awk '/broadcast/{print $2}' 192.168.99.241 SSH Client [root@vm2 ~]# ifconfig |awk '…

    Linux干货 2017-01-05
  • linux用户,组管理

    linux用户,组管理 用户的登陆过程: 用户要使用linux系统,必须先进行登陆,linux的登陆过程和Windows登陆过程类似,登陆的过程包括以下几个步骤 1.当linux系统正常引导启动完成后,系统就可以正常接纳用户登陆,用户界面会显示“login:”提示符。如果是图形界面就会显示用户登陆窗口 2.用户输入用户后系统会检查/etc/passwd是否有…

    Linux干货 2016-12-19
  • 第十八周作业

    1、为LNMP架构添加memcached支持,并完成对缓存效果的测试报告; 环境准备: 1)LNMP(php-fpm)环境已搭建完毕 2)Wordpress已部署完成 1.在memcache服务器上安装memcached包并启动服务 ]# yum install memcached -y ]# systemctl start memcached.servic…

    2017-06-22
  • 马哥教育网络班21期+第8周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离…

    Linux干货 2016-09-19

评论列表(1条)

  • 马哥教育
    马哥教育 2017-09-02 20:44

    脚本传参和程序控制是非常基础和重要的脚本知识点,从作业中可以看出掌握的很好,再接再励。