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

相关推荐

  • HAproxy簡單配置

    用途:TCP/HTTP反向代理,四层负载均衡,适合高可用环境。Linux6.4版本后haproxy已随base仓库收录进来。文档:http://cbonte.github.io/haproxy-dconv/主程序:/usr/sbin/haproxy 主配置文件:/etc/haproxy/haproxy.cfg启动文件:/usr/lib/systemd/sys…

    2017-05-17
  • 破坏grub实验之二

    删除/etc/fstab和/boot和grub的stage1阶段 [root@localhost ~]# rm -rf /boot [root@localhost ~]# rm -rf /etc/fstab  [root@localhost ~]# …

    Linux干货 2016-09-28
  • 救援模式安装grub

    如果之前mbr没有备份,而后grub损坏进不了系统,只能用系统光盘或U盘开机进入救援模式安装grub,操作如下 1.光盘启动,进入救援模式 2.切换根目录 # chroot /mnt/sysimage 3.安装 grub # grub-install /dev/sda 4.重新启动        &…

    Linux干货 2017-01-13
  • 一位老it工程师的忠告,新手进来学习,老手进来体会,收获很大。

    诸位,咱当电子工程师也是十余年了,不算有出息,环顾四面,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强! [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐…

    Linux干货 2015-02-26
  • 第一次写的linux脚本

    刚开始学的时候,都是一些基本的命令,总是无法把它们联系到一块去,现在刚开始接触脚本,顿时感觉压力好大,基础命令如果记不牢,很有可能就挂了,下面我把近几天学习的一些脚本命令及练习拿来分享一下,供大家参考,同时加深我的记忆。 首先是写脚本的格式,我这里用vim编辑器来写的脚本,因为它的色彩非常明艳,易于区分。基本格式如下: #!/bin/bash 第一行一般为调…

    Linux干货 2017-08-05
  • Linux小工具之cheat

    随着linux学习的深入,接触到的命令越来越多,此时,考验脑力的时候就到了,除非你是”脑王”,否则面对多如牛毛的linux命令,真的会崩溃!linux前辈们貌似也被同样的问题所困扰,所以,他们发明了cheat。cheat是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但…

    2017-08-10

评论列表(1条)

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

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