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.www58058.com/63219

(0)
396064847396064847
上一篇 2016-12-11 14:59
下一篇 2016-12-11 17:25

相關推薦

  • bash

    1.  bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示           狀態返回值:            &nbsp…

    Linux干貨 2016-11-06
  • Linux進程及作業管理總結

    一、簡介     在使用Windows操作系統中很多時候需要查看某些程序進程的運行情況,一般來說我們可以打開Windows提供的"任務管理器",然后點擊"進程"欄即可查看到當前系統運行的進程列表。例如偶爾出現系統內存、CPU占用過高的時候,我們往往都會查看進程列表,并找到當前占用內存或CPU過高的進…

    Linux干貨 2015-10-05
  • 計算機基礎

    一,計算機的組成 ? ? ? ?計算機由硬件(hardware)系統和軟件(software)系統兩大部分組成的 ? ? ? ? 硬件系統是由主機和外部設備 二,計算機硬件 計算機: 是一種能接受和存儲信息,并按照存儲在其內部的程序對海量數據進行自動,高速地 處理, 然后把 處理的結果輸出的現代化智能電子設備 ?發展歷史 ? ? ? 第一代計算機(1946-…

    Linux干貨 2018-03-26
  • 第一周作業

    1、描述計算機的組成及其功能。 計算機的基本功能:數據處理、數據存儲、數據傳輸、控制; 計算機中的數據:包含計算機所能處理的給中對象,如數值、字符、圖形、圖像、聲音、視頻等。 計算機的所有功能都是通過指令實現的。 指令:是計算機硬件能直接識別并執行的命令,不同種類的計算機通常有著不同的指令編碼,一臺計算機的所有指令集合稱之為指令系統。若干條指令組成的一個指令…

    Linux干貨 2016-12-12
  • 啟動和內核管理

    一、Linux組成     Linux: kernel+rootfs         kernel: 進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能       &nb…

    Linux干貨 2016-09-18
  • Hadoop簡介

    Hadoop的概要介紹 Hadoop,是一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。 簡單地說來,Hadoop是一個可以更容易開發和運行處理大規模數據的軟件平臺。該平臺使用的是面向對象編程語言Java實現的,具有良好的可移植性。 Hadoop的發展歷史 &nbsp…

    Linux干貨 2015-04-13

評論列表(1條)

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

    文章標題和內容中的相關腳本可以單獨抽出來分成兩個專題~~其中腳本注意縮進,養成良好的習慣。加油~

欧美性久久久久