N22-妙手-第八周課程練習

1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。

    網橋:

        一種網絡設備,負責網絡橋接,將網絡的多個網段在數據鏈路層連接起來。

    集線器:

        是指將多條以太網雙絞線或光纖集合連接在同一段物理介質下的設備。集線器是運作在OSI模型中的物理層。它可以視作多端口的中繼器,若它偵測到碰撞,它會提交阻塞信號。

    二層交換機:

        可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中

    三層交換機:

        三層交換機的最重要目的是加快大型局域網內部的數據交換,所具有的路由功能也是為這目的服務的,能夠做到一次路由,多次轉發

    路由器:

        是連接因特網中各局域網、廣域網的設備,它會根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號

2、IP地址的分類有哪些?子網掩碼的表示形式及其作用

    (1) IP地址的分類:共有5類

地址類型

范圍

主機數數

網絡數

網絡號

主機號

A類

0.0.0.0-127.255.255.255

2^24-2

126

7

24

B類

128.0.0.0-191.255.255.255

2^16-2

2^14

14

16

C類

192.0.0.0-223.255.255.255

2^8-2

2^21

21

8

D類

224.0.0.0-239.255.255.255

N/A

N/A

E類

240.0.0.0-255.255.255.255

N/A

N/A

    (2) 子網掩碼

        用于與IP地址按位進行“與”運算,從而取出網絡地址,來界定通信主機。

        點分四組表示:例如,255.255.0.0

        CIDR表示:在IP地址后加/BITS,例如192.168.199.71/24 <==> IP: 192.168.199.71 NETMASK: 255.255.255.0

3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。

    (1) 協議表示

protocol.png

    (2)功能及涉及到的物理設備

OSI協議

TCP/IP協議

功能

物理設備

應用層
  表示層
  會話層

應用層

將數據打包成一個數據包,給予一個應用層報頭,向下傳給傳輸層

N/A

傳輸層

傳輸層

將數據封裝給予報頭,向下給網絡層

N/A

網絡層

網絡層

給予IP報頭,向下傳輸給物理層

以太網

數據鏈路層
  物理層
 
 

物理層

將數據封裝并給予MAC幀頭,轉成比特流之后利用傳輸介質發送到遠程主機上

路由器、交換機

4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)

 可以通過命令和修改配置文件兩種方式手動將Linux主機介入到TCP/IP網絡

修改的參數

配置文件

查看結果的命令

IP相關參數

/etc/sysconfg/network-scripts/ifcfg-IFACE_NAME

ifconfig(IP/NETMASK)

DNS

/etc/resolver.conf

dig –t A www.baidu.com

GATEWAY

/etc/sysconfig/network

route -n

    (1) IP/NETMASK的配置

2016-10-03 12_47_28-CentOS 7.1 - root@localhost__etc_sysconfig_network-scripts - Xshell 5 (Free for .png

    (2) 配置DNS服務

dns.png

    (3) 配置網關信息

GW.png

    (4) 開啟網路服務

[root@localhost ~]# systemctl start network.service

    (5) 測試連接網絡連接

[root@localhost ~]# ping -c 2 www.baidu.com
PING www.a.shifen.com (220.181.111.188) 56(84) bytes of data.
64 bytes from 220.181.111.188: icmp_seq=1 ttl=55 time=30.2 ms
64 bytes from 220.181.111.188: icmp_seq=2 ttl=55 time=66.8 ms

--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 30.213/48.541/66.870/18.329 ms
[root@localhost ~]# dig -t A www.baidu.com


5、為Linux主機配置網絡信息的方式有哪些,請描述各個過程。

    (1) 編輯配置文件:

        配置網絡接口,網關:編輯/etc/sysconfig/network-script/ifconfig-IFACE

        配置DNS服務器:編輯/etc/resolv.conf

    (2) 通過命令指定:    

[root@localhost ~]# ip addr add 192.168.199.30/24 dev eth0

6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;

     在線的主機使用綠色顯示;

     不在線的主使用紅色顯示;

#!/bin/bash
for ((i=1;i<255;i++));do
        ping -c 1 -w 1 "172.16.250.$i" >/dev/null
        if [ $? -eq 0 ];then
                echo -e "\033[0;32;1m 192.168.1.$i is up! \033[0m"
        else
                echo -e "\033[0;31;1m 192.168.1.$i is down! \033[0m" 
        fi
done

7、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;

    (1) IP/NETMASK/GW/DNS等屬性配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

        DEVICE: 設備名稱

        ONBOOT={yes|no}:在系統引導過程中,是否激活此接口

        TYPE={Ethert|Bridge}:接口類型

        DNS1:主DNS服務器指向

        DNS2:從DNS服務器指向

        IPADDR:ip地址

        NETMASK:子網掩碼

        GATEWAY:默認網關

        BOOTPROTO={none|dhcp|static|bootp}:激活此接口時用什么協議來配置此接口屬性

        UUID:設備的唯一標識

        DOMAIN:DNS搜索域

        USERCTL:是否允許普通用戶控制此設備

        HWADDR:設備的MAC地址

        PEERDNS={no|yes}:是否允許dhcp server 分配的DNS服務器指向覆蓋本地手動指定的DNS服務器指向;默認為允許

    (2) 路由相關配置文件:/etc/sysconfig/network-scripts/route-IFACE

    (3) 主機名配置文件:/etc/sysconfig/network


8、如何給網絡接口配置多個地址,有哪些方式?

    三種方式:

        (1) ifconfig命令

[root@localhost ~]# ifconfig eno16777736:0 192.168.199.86/24

        (2) ip命令

[root@localhost ~]# ip address add 192.168.199.88 dev eno16777736:1

        (3) 編輯網絡接口配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法。

    (1) ifcfg家族

        ifconfig:

            [root@localhost ~]# ifconfig eth0

        route:

           [root@localhost ~]# route -n

        netstat:

            [root@localhost ~]# netstat -tunlp

    (2) route2家族

        ip:

            [root@localhost ~]# ip addr show eth0

        ss:

            [root@localhost ~]# ss -tunlp

    (3) nm家族

        nmtui:圖形界面配置網絡

        nmcli:文本界面下配置網絡

10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。

    (1) 什么是程序包管理:

        源代碼編譯–>目標二進制格式–>組織成為一個或有限幾個”包“文件 –> 進行安裝、升級、卸載、查詢、校驗等管理功能

    

    (2) Linux各發行版的程序包管理器:

        Debian: dpt

        Red Hat: rpm – redhat package manager

        S.U.S.E: rpm

        注意:下面的介紹以Red Hat的rpm作為軟件包管理器

    

    (3) rpm軟件包管理方法:

        rpm命令格式:rpm [OPTIONS] [PACKAGE_FILE]

        常用選項:

            安裝:-i, –install

            升級:-U, –update, -F, –freshen

            卸載:-e, –erase

            查詢:-q, –query

            校驗:-V, –verify

    

    (4) 常用管理方法:

         安裝

        rpm {-i|–installation} [install-options] PACKAGE_FILE…

        安裝常用選項組合:rpm -ivh PACKAGE_FILE

    

    [install-options]:

        -h: hash marks輸出進度條:每個#表示2%的進度

        –test:測試安裝,檢查并報告依賴關系及沖突消息等

        –nodeps:忽略依賴關系

        –replacepkgs:替代原來的包重新安裝

        升級

            rpm {-U|–upgrade} [install-options] PACKAGE_FILE …

            rpm {-F|–freshen} [install-options] PACKAGE_FILE

            -U:升級或安裝,如果程序包沒有安裝,則安裝程序包

            -F:升級,如果程序包沒有安裝,不做任何操作

    

        升級操作常用組合:

        rpm -Uvh PACKAGE_FILE…

        rpm -Fvh PACKAGE_FILE…

        –oldpackage:降級

        –forece:強制降級


        卸載:

            rpm {-e|–erase} {–allmatches] [–nodeps] [–noscripts] [–test] PACKAGE_NAME…

            –allmatches:卸載所有匹配指定名稱的程序包的各版本

            –nodeps:忽略依賴關系

            –test:測試卸載,并不執行真正的卸載操作

    

        查詢:

            rpm [-q|–query} [select-options] [query-options]


            查詢常用組合:

            rpm -qi PACKAGE: 查詢程序包信息

            rpm -qf FILE:查詢指文件由那個程序包安裝成圣

            rpm -qc PACKAGE:查詢指定的程序包提供的配置文件

            rpm -ql PACKAGE:程序包安裝生成的所有文件列表

            rpm -qd PACKAGE:查詢程序包安裝生成的文檔

            rpm -qpl PACKAGE_FILE:查詢未安裝程序包文件所提供的所有文件列表

            rpm -qpi PACKAGE_FILE:查詢未安裝程序包文件的簡要信息

            rpm -qpi PACKAGE_FILE:查詢未安裝程序包文件所所提供的配置文件

    

    校驗:包來源合法性和完整性校驗

    

11、如何使用發行版光盤作為yum repository,請描述該過程。

    (1) 將光盤掛載到/media/cdrom下

[root@localhost ~]# mount -r /dev/cdrom /media/cdrom
[root@localhost ~]# ls /media/cdrom
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL

    (2) 創建.repo文件

[root@localhost yum.repos.d]# cp CentOS-Media.repo local.repo

    (3) 編輯local.repo文件

repo.png

    (4) 啟用本地光盤源

[root@localhost yum.repos.d]# yum-config-manager --enable local.rep
[root@localhost yum.repos.d]# yum repolist | grep local
local-repo                       CentOS Local Media                       9,007

12、寫一個腳本,完成以下功能

   (1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;

   (2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;

   (3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;

   (4) 分別統計S開頭和K開頭的文件各有多少;

#!/bin/bash
#
declare -i k=0
declare -i s=0

for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$"); do
    echo "$i stop"
    let k++
done

for i in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$"); do
    echo "$i start"
    let s++
done

echo "Start with K: $k"
echo "Start with S: $s"

13、寫一個腳本,完成以下功能

   (1) 腳本能接受用戶名作為參數;

   (2) 計算此些用戶的ID之和;

#!/bin/bash
#

declare -i idSum=0
userNumber=$#

if [ $userNumber -lt 1 ]; then
    echo "Please intput at least one user existed in current system"
    exit 1
fi

for user in $@; do
    if id $user >& /dev/null; then
        userid=$(id -u $user)
        idSum=$[$userid+$idSum]
    else
        echo "$user is not exist, system will add this user"
        useradd $user
        newUserid=$(id -u $user)
        idSum=$[$newUserid+$idSum]
    fi
done

echo "the user ID sum is: $idSum"

14、寫一個腳本

   (1) 傳遞一些目錄給此腳本;

   (2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;

   (3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;

#!/bin/bash
#

declare -i dirQuantity=0
declare -i fileQuantity=0
if [ $# -lt 1 ]; then
    echo "Please send at least one direcoty to shell script"
    exit 1
fi

for directory in $@; do
    if [ -d $directory ]; then
        for i in $direcotry/*; do
            if [ -f $i ]; then
                ls -l $i
                let fileQuantity++
            elif [ -d $i ]; then
                ls -l $i
                let dirQuantity++
            else
                "this file type will be not counted"
            fi
        done

    else
        echo "$direcotry is not a valid directory"
    fi
done

15、寫一個腳本

  通過命令行傳遞一個參數給腳本,參數為用戶名

  如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

    腳本內容

#!/bin/bash
#

username=$1

if [ $# -eq 1 ]; then
    if id $username >& /dev/null; then
        while read userLine; do
            userID=$(echo $userLine | grep "$username" | cut -f3 -d:)
            if [ -n "$userID" ]; then
                if [ $userID -gt 500 ]; then 
                    echo "$username is common user"
                    break
                else
                    echo "$username is special user"
                    break
                fi
            fi
        done < /etc/passwd
    else 
        echo "Please input exist username"
        exit 1
    fi
else
    echo "please input one username existed in current system"
    exit 2
fi

    執行結果

[root@localhost week08]# bash sh15.sh max
max is common user
[root@localhost week08]# bash sh15.sh root
root is special user

16、寫一個腳本

   (1) 添加10用戶user1-user10;密碼同用戶名;

   (2) 用戶不存在時才添加;存在時則跳過;

   (3) 最后顯示本次共添加了多少用戶;

    腳本內容

#!/bin/bash
#

declare -i totalAddedUser=0
for i in {1..10}; do
    username=user$i
    if id $username >& /dev/null; then
        continue
    else
        useradd $username
        echo $username | passwd --stdin $username >& /dev/null
        let totalAddedUser+=1
    fi
done

echo "Total added users: $totalAddedUser"

    執行結果

[root@localhost week08]# bash sh16.sh 
Total added users: 10
[root@localhost week08]# bash sh16.sh 
Total added users: 0

17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;

#!/bin/bash
#

ipSegment=192.168.199.

for i in {100..199}; do

    ping -c 1 -w 1 $ip$i &> /dev/null
    if [ $? -eq 0 ]; then
        echo "$ip$i is online"
    fi
done

18、打印九九乘法表;

    腳本內容

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

    執行結果

[root@localhost week08]# bash sh18.sh 
1X1=1    
1X2=2    2X2=4    
1X3=3    2X3=6    3X3=9    
1X4=4    2X4=8    3X4=12    4X4=16    
1X5=5    2X5=10    3X5=15    4X5=20    5X5=25    
1X6=6    2X6=12    3X6=18    4X6=24    5X6=30    6X6=36    
1X7=7    2X7=14    3X7=21    4X7=28    5X7=35    6X7=42    7X7=49    
1X8=8    2X8=16    3X8=24    4X8=32    5X8=40    6X8=48    7X8=56    8X8=64    
1X9=9    2X9=18    3X9=27    4X9=36    5X9=45    6X9=54    7X9=63    8X9=72    9X9=81

原創文章,作者:mxb93,如若轉載,請注明出處:http://www.www58058.com/49489

(0)
mxb93mxb93
上一篇 2016-11-07
下一篇 2016-11-07

相關推薦

  • 馬哥教育網絡班N22期+第7周作業

    1、創建一個10G分區,并格式為ext4文件系統;(1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1tune2fs -o acl /dev/sdb1(2) 掛載至/data/mydata目錄,要求掛載時禁止…

    Linux干貨 2016-11-14
  • N22-南京-修 第一周作業

    一、計算機的組成     計算機由硬件系統和軟件系統組成;         硬件系統:運算器、控制器、存儲器、輸入設備、輸出設備; (運算器、控制器):統稱為CPU,它是一個具有特定功能的芯片,通過其內部含有的微指令集對從內存中讀取來的數據…

    Linux干貨 2016-08-15
  • Trap命令簡介

     Trap命令簡介     一、基本概念  trap是一個shell內建命令,它用來在腳本中指定信號如何處理。比如,按Ctrl+C會使腳本終止執行,實際上系統發送了SIGINT信號給腳本進程,SIGINT信號的默認處理方式就是退出程序。如果要在Ctrl +C不退出程序,那么就得使用trap命令來指定一下SIGINT的處…

    Linux干貨 2015-05-11
  • Linux(Debian系)常用運維命令節選之一

    用硬件檢測程序kuduz探測新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看PCI信息:lspci (相比cat /proc/pci更直觀) 查看內存信息:cat /proc/meminfo 查看USB設備:cat /proc/bus…

    Linux干貨 2016-10-30
  • 行編輯器sed的應用

    sed sed:Stream EDitor,行編輯器 sed是一種流編輯器,它一次處理一行內容,處理時,把當前處理的行存儲在臨時緩沖區中, 稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后, 把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。文件內容并沒 有改變,除非你使用重定向存儲輸出。 se…

    Linux干貨 2016-08-10
  • 用戶權限及正則表達式

    ln –s軟連接原文件可以寫絕對路徑或相對于軟連接文件的相對路徑 ln 硬鏈接的原文件可以寫絕對路徑,相對于硬鏈接文件的相對路徑或相對于當前路徑的路徑(因為硬鏈接主要是看節點號) etc/passwd格式: username:x:uid:gid:home:shell etc/shadow格式 username:password:password age:mi…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-11-10 13:50

    幾個腳本寫的不錯,概念需要注意下,比如OSI七層協議和 TCP/IP協議族~~還需努力~

欧美性久久久久