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

相关推荐

  • 第七周练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 1.[root – gwx ~]#>fdisk /dev/sdb2.W…

    Linux干货 2016-12-11
  • CentOS6 网卡bonding

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    Linux干货 2017-11-24
  • 关于加密那点事

    作者【Jev Tse】 环境:sentos6.8     【本文预览】      一、关于加密      二、对称加密      三、非对称加密      四、单向散列 …

    Linux干货 2016-12-01
  • N25期–第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、 限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;   #iptables…

    Linux干货 2017-04-10
  • Linux 基础命令

    一,GNU/LINUX操作系统组成        1.1硬件  计算机硬件资源,CPU,主板,内存,存储器等 1.2 内核层 包含了硬件控制,设备驱动程序,虚拟文件系统,网络管理,内存管理,进程管理,程序调度等 ,属于内核空间 1.3 系统调用 所有的操作系统在其内核里都有一些内建的函数,这些函数可以用来完成…

    2016-10-29
  • xen虚拟机实时迁移

    前言:  xen虚拟机提供了一种类似于heartbeat高可用方案,在保证也不中断的业务情况下实现虚拟机迁移技术。在保证虚拟机上的服务正常的情况下将运行中的Domain迁移到其他机器上,实现xen虚拟机的高可用。 一、实验准备:  (1)各个测试机之间时间要同步  (2)node3提供iscsi网络共享存储  (4)n…

    Linux干货 2015-08-27

评论列表(1条)

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

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