Linux基础知识——网络管理基础

OSI七层模型与TCP/IP模型的区别

Linux基础知识——网络管理基础

写一个脚本,使用ping命令探测172.168.250.1-172.168.250.254之间的所有主机的在线状态,在线的用绿色表示,不在线的使用红色表示

#!/bin/bash

for ((IP=1;IP<=254;IP++))
    do
    ping -c 3 -w 3 172.16.250.$IP >> /dev/null 2>&1
    if [ $? -eq 0 ];then 
    echo -e "\033[031m 172.16.250.$IP \033[0m is online"
    else 
    echo -e "\033[032m 172.16.250.$IP \033[0m connects failed"
    fi
    done

常用的网络管理类工具,描述其使用示例

ifconfig ~configure a network interface

【SYNOPSIS】
          ifconfig [-v] [-a] [-s] [interface]
          ifconfig [-v] interface [aftype] options | address ...

【OPTIONS】
    -a     display all interfaces which are currently available, even if down
    -s     display a short list (like netstat -i)
    interface
        up      This flag causes the interface to be activated
        down    This flag causes the driver for this interface to be shut down
        address xxx.xxx.xxx.xxx     set IP to interface
        dstaddr addr        Set the remote IP address for a point-to-point link (such as PPP)

ip ~show / manipulate routing, devices, policy routing and tunnels

【SYNOPSIS】
   ip [ OPTIONS ] OBJECT { COMMAND | help }
   ip [ -force ] -batch filename

   OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddr | mroute |
           mrule | monitor | xfrm | netns | l2tp | tcp_metrics }
   OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } |
           -o[neline] | -n[etns] name }
具体的参考可使用 ip OBJECT help
ip {link|addr|addrlabel……} help

route~show / manipulate the IP routing table

【SYNOPSIS】
route  [-v]  [-A  family  |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W]
          [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
   route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]
【OPTIONS】
    add     add a new route
    del     del a route
    -n     show  numerical  addresses  instead of trying to determine symbolic host names.
【example】
    route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
    route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
    route add -net 192.57.66.0 netmask 255.255.255.0 gw ipx4

netstat – Print network connections, routing tables, interface statistics, masquerade connections, and mul‐ ticast memberships

【OPTIONS】
    -r, --route              display routing table
        -I, --interfaces=<Iface> display interface table for <Iface>
        -i, --interfaces         display interface table
        -W, --wide               don't truncate IP addresses
        -n, --numeric            don't resolve names
        -e, --extend             display other/more information
        -p, --programs           display PID/Program name for sockets
        -o, --timers             display timers
        -l, --listening          display listening server sockets
        -a, --all                display all sockets (default: connected)

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

#!/bin/bash
declare i=0
declare j=0
cd /etc/rc.d/rc3.d
for file in $(ls|grep -iE "^k|^s")
do
    FC=$(echo $file|cut -b 1)
    case $FC in
    k|K)
        echo "$file"stop
        i=$(($i+1))
    ;;
    s|S)
        echo "$file"start
        j=$(($j+1))
    ;;
    *)
        continue
    ;;
    esac 
done
        echo "the header of K has $i"
        echo "the header of S has $j"

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

#!/bin/bash

declare sum=0
if [ $# -le 1 ];then
    echo "Please input more than one user's name!"
else

while [ $# -gt 0 ]
do
    id -u $1 >> /dev/null 2>&1
    if [ $? != 0 ];then
    echo "the user $1 is not exist !"&& exit

    else
#   ID=$(id -u $1)
sum=$(($(id -u $1)+$sum))
#   sum=$(($ID+$sum))
    fi
    shift
done
echo "the sum of all user's id is $sum" 
fi

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

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

#!/bin/bash

read -p "Please insert a username:" name

if [ -z $name ]
   then 
    echo "U must insert a username!"
    elif [ $(id -u $name) -le 500 ]
       then 
    echo "$name is a manager"
else 
    echo "$name is a ordinary"
    fi

写一个脚本,1)添加10个用户user1-user10,密码同用户名;2)用户不存在时才添加,存在时则跳过;3)最后显示本次一共添加了多少个用户

#!/bin/bash

declare sum
for (( i=1;i<10;i++ ))
    do
    id user$i>/dev/null 2>&1;
    if [ $? -eq 0 ];then 
        continue
    else
        useradd user$i && echo "user$i"|passwd --stdin user$i>>/dev/null 2>&1;
        echo "create user$i successful!"
    sum=$(($sum+1))
    fi
done
    echo "There are $sum users were created"

写一个脚本,用ping命令测试172.168.250.20-172.168.250.100以内那些主机在线,将在线的显示出来

#!/bin/bash
for IP in {20..100}
    do
    ping -c 3 -w 3 192.168.1.$IP >> /dev/null 2>&1
    test $? -eq 0 && echo -e "\033[032m 192.168.1.$IP \033[0m is online" || continue
    done

打印99乘法表

#!/bin/bash

for ((m=1;m<=9;m++))
    do
    echo    
    for ((n=1;n<=m;n++))
    do
    sum=$(($n*$m))
    echo -en "$n*$m=$sum\t"
    done
done
echo

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

(0)
396064847396064847
上一篇 2016-12-11
下一篇 2016-12-11

相关推荐

  • 包管理及源码安装Apache

    一,概述 yum 仓库的安装 在/etc/yum.repos.d/目录下创建后缀名为repo的配置文件 [CentOS7] name= baseurl= gpgcheck= enabled= 配置文件基本包含的四个要求 安装及升级本地程序包: * localinstall rpmfile1 [rpmfile2] […] (用install替代) …

    Linux干货 2016-09-01
  • awk

    GNU awkGNU awk 2 本章内容 awk介绍 awk基本用法 awk变量 awk格式化 awk操作符 awk条件判断 awk循环 awk数组 awk函数 调用系统命令 3 awk awk: Aho, Weinberger, Kernighan,报告生成器,格式化文本输出 有多种版本:New awk(nawk),GNU awk…

    Linux干货 2016-09-14
  • 20161028第9天作业

    20161028第9天作业 1、编写脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问” 2、编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率率,如果超过80%,就发广播…

    Linux干货 2016-10-30
  • 马哥教育网络班21期+第六周课程练习

    1、描述计算机的组成及其功能 答: (1)计算机组成: 输入(键盘)、输出(显示器),存储器(硬盘),运算器,控制器(CPU) (2)实现功能:    1)文件系统    2)内存管理    3)网络功能    4)进程管理    5)驱动程序 2、按系列罗列…

    Linux干货 2016-08-15
  • corosync v2 + pacemaker + crmsh 实现mariadb高可用

    高可用mariadb拓扑图 一、设计前提     1、时间同步 # ntpdate 172.16.0.1 或者 # chronyc sources     2、所有的主机对应的IP地址解析可以正常工作, 主机名要与命令#uname -n 所得的结果一致   &…

    Linux干货 2014-08-13
  • 计算机基础

    计算机基础知识简单介绍

    2018-03-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 15:06

    文章标题和内容中的相关脚本可以单独抽出来分成两个专题~~其中脚本注意缩进,养成良好的习惯。加油~