馬哥教育網絡班19期+第8周課程練習

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

集線器:工作于物理層,實現設備的接入,數據信號放大、中轉,共享信道。

網橋:工作于數據鏈路層,實現多個lan之間數據的轉發,隔離沖突域,類似二層交換機

二層交換機:工作于數據鏈路層,可連接多個lan,根據幀的mac來轉發數據,隔離沖突域,端口較多。

三層交換機:工作于二、三層,可連接多個網段,實現數據包路由,實現部分路由器功能

路由器:工作于網絡層,實現不同網段數據的轉發,隔離廣播域,多應用于廣域網

 

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

A  01開頭,0~127 默認掩碼:255.0.0.0

B  10開頭,128~191 默認掩碼:255.255.0.0

C  110開頭,192~223 默認掩碼:255.255.255.0

D  1110,組播地址,224~239

E   11110,保留地址,240~255

子網掩碼作用:用于計算出IP地址的網絡位

 

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

(1)osi七層模型和tcp/ip模型

(2)每層功能:   

   物理層:在物理媒體上傳輸原始的數據比特流。

   數據鏈路層:將數據分成一個個數據幀,以數據幀為單位傳輸。有應有答,遇錯重發。

   網絡層:將數據分成一定長度的分組,將分組穿過通信子網,從信源選擇路徑后傳到信宿。

   傳輸層:提供不具體網絡的高效、經濟、透明的端到端數據傳輸服務。

   會話層:進程間的對話也稱為會話,會話層管理不同主機上各進程間的對話。

   表示層: 為應用層進程提供格式化的表示和轉換數據服務。

   應用層:提供應用程序訪問OSI環境的手段。

 (3)網絡接口層:網絡適配器、網絡介質,交換機;網絡層:路由器、三層交換機;傳輸層:;應用層。

 (4)ISO/OSI參考模型與TCP/IP協議模型中各層的對應關系:

aaaaaaaaaaaaaaa.png

 

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

      (1)編輯網絡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ethX

      (2)配置內容:

                 DEVICE=ethN

                BOOTPROTO=none

                HWADDR=xxx

                ONBOOT=yes

                TYPE=Ethernet

                 UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"

                 USERCTL=no

                 IPADDR=xxx

                NETMASK=xxx

                GATEWAY=xxx

 

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

    (1)命令:ifconfig device ip/netmask ip addr { add | del } IFADDR dev STRING

    (2)圖形配置:setupnmtui

(3)編輯配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ethX

 

 

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

       #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 1 254);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    else

       echo -e "\033[31m $ip.$i:host is down \033[0m"

    fi

done

 

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

       DEVICE=eth#                               —》設備名稱

       BOOTPROTO=none                    —dhcp表示動態獲取IPstaticnone表示靜態IP

       HWADDR=00:0c:29:52:59:e1      —》該網卡的mac

       IPV6INIT=no                                  —ipv6是否開啟

       NM_CONTROLLED=no               —》是否開啟nm管理

       ONBOOT=yes                              —》該網卡是否開機啟動

       TYPE=Ethernet                             —》網卡網絡的類型為以太網

        UUID="92fbbbe5-2f41-4c26-a4c2-f3c3a7e1ece8"   —》網卡的UUID標識

        USERCTL=no                              —》是否允許普通用戶編輯

        IPADDR=10.0.0.219                     —ip地址

        NETMASK=255.255.255.0            —》掩碼

        GATEWAY=10.0.0.1                      —》網關

         DNS#                                            —dns

 

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

      (1)臨時有效。命令:ifconfig eth#:# 10.0.0.221 netmask 255.255.255.0 /ifconfig eth#:# 10.0.0.222/24

                   ip addr add 10.0.0.225/24 dev eth#

      (2)永久有效。配置文件:vim /etc/sysconfig/network-scripts/ifcfe-eth#:#

 

 

 

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

      ip、ifconfig:配置或查看系統IP情況

      netstat:查看當前系統的網絡鏈接。如:netstat -tuanp

      ss:類型與netstat功能

     route:查看或添加路由。route -n route add -net|host  ip netmask mask gw gateway dev eth#

     dig/nslookup/host

 

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

     安裝:rpm -ivh XXX.rpm

     升級:rpm -Uvh xxx/rpm –>后面接的套件若沒有安裝過,則系統將直接安裝。

                rpm -Fvh xxx.rpm –>后面接的套件若沒有安裝過,則該套件不會安裝。

     卸載:rpm -e xxx.rpm

 

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

(1)掛載光盤至/mnt

(2)開始配置本地yum,yum源為光盤

# cd /etc/yum.repos.d/                 

# mv CentOS-Base.repo CentOS-Base.repo.bak   

# vim CentOS-Media.repo             

         [c6-media]

         name=CentOS-$releasever-Media     

         baseurl=file:///mnt               

         gpgcheck=1                           

         enabled=1                            

         gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-6

   (3)驗證是否yum源是否成功:yum repolist c6-media

 

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

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

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

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

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

#!/bin/bash

#

for file in $(ls /etc/rc.d/rc3.d/);do

    if [[ $file == K* ]];then

       echo "K start:${file}stop"

       let sum1++

    elif [[ $file == S* ]];then

       echo "S start:${file}start"

       let sum2++

    fi

done

echo "Number of files at the beginning of K:$sum1"

echo "Number of files at the beginning of S:$sum2"

 

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

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

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

#!/bin/bash

#

declare -i sum=0

declare -i id=0

read -t 30 -p "input username here:" -a uname

echo "===================="

[ "${uname[*]}" == ""  ]&&echo "users is empty"&&exit 1

for i in $(seq 0 $[${#uname[@]}-1]);do

     if id ${uname[$i]} &> /dev/null;then

       id=$(cat /etc/passwd | grep "^${uname[$i]}\>" |cut -d":" -f3)

       let sum+=$id

     else

        echo "user:${uname[$i]} do not exist"

     fi

done

echo "====================="

echo "all users id sum:$sum"

 

14、寫一個腳本

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

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

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

 

 

 

15、寫一個腳本

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

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

#!/bin/bash

#

if [ $# -gt 0 ];then

   for i in $(seq 1 $#);do

       if id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -ge 500 ];then

          echo "user:${!i} is common user "

       elif id ${!i} &>/dev/null&&[ $(cat /etc/passwd |egrep "^${!i}\>" |cut -d":" -f3) -lt 500 ];then

          echo "user:${!i} is sys user"

       else

          echo "user:${!i} is not exsit"

       fi

    done

else

   echo "usage:username.sh user1 user2 …"

fi

 

 

 

 

 

 

16、寫一個腳本

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

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

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

#!/bin/bash

#

function adduser {

        if id $1 &> /dev/null;then

           echo "$1 is exist!"

         else

           useradd $1 &&echo $1 |passwd –stdin $1 &>/dev/null

           [ $? -eq 0 ] && echo "Add $1 finished." && let sum++ && return 0

         fi

}

for i in {1..10};do

adduser user$i

done

echo "add user sum:$sum"

 

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

 #!/bin/bash

#

declare -i i

ip=172.16.250

for i in $(seq 20 100);do

    if ping -c 1 -w 1  $ip.$i &> /dev/null;then

       echo -e "\033[32m $ip.$i:host is up \033[0m"

    fi

done

 

18、打印九九乘法表;

#!/bin/bash

#

for j in {1..9};do

for i in $(seq 1 $j);do        

        echo -n -e "${i}X${j}=$[$i*$j]\t"

    done

echo

done

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

(0)
snowsnow
上一篇 2016-06-26 22:46
下一篇 2016-06-26 22:49

相關推薦

  • Bash的&&,||邏輯運算

    Bash的&&,||邏輯運算 bash里的true和false并不是我們通常所認為的0和1。 true和false是shell的內置命令,返回邏輯值。 $?是一個特殊的變量,存放有上一個程序的結束狀態。 在shell里面,把0作為程序是否成功結束的標志。 例如: $ true$ echo$?0$ false$ echo$?1 有時候,下一條命…

    Linux干貨 2016-04-11
  • Linux下find命令的使用

    為什么要使用find命令?     Linux系統中有著成千上萬的文件,如果你想要找到自己想要的文件,一款查找軟件是必不可少的,而locate是根據其生成的數據庫進行查找,雖然速度會略快,但非實時查找,有些新的文件或目錄是匹配不到的,而且locate是模糊匹配,而find命令為實時查找,且為精確匹配,如果你對目錄的權限…

    Linux干貨 2016-08-18
  • 正則表達式基礎以及grep的簡單使用

    正則表達式基礎以及grep的簡單使用   1,定義 正則表達式是你所定義的模式模板,Linux可以用它來過濾文本。Linux工具(比如grep、sed、gawk)能夠在處理數據時使用正則表達式對數據進行模式匹配。如果數據匹配模式,它就會被接受并進一步處理;如果數據不匹配,它就會被濾掉。 2,正則表達式的原則 (1)正則表達式模式都區分大小寫。(2)…

    2017-04-09
  • 正則表達式及文本處理

    正則表達式及文本處理 通俗點說,正則表達式就是處理字符串的方法,更加快速簡潔的代表各個要求參數,一般用于描述字符排列和匹配模式的一種語法規則,通過正則表達式一些特殊符號的輔助,讓用戶輕易的查找、刪除、替換一些字符串的處理程序。( ps:正則表達式和通配符不一樣,通配符代表的是bash接口的一個功能,但正則表達式是一種字符串處理的表達方式,兩者一定要分清楚。)…

    2017-06-11
  • 用戶\組的管理

    1、用戶的標識符:UID與GID   每個登錄的用戶都至少會識別兩個ID,那么就是UID與GID(username與groupneme)當我們要顯示文件屬性時,系統會根據/etc/passwd與/etc/group的內容,找到id對應的賬號與組名再顯示出來。 /etc/passwd文件結構   他的每一行都代表一個賬號,并且里面許多賬號都…

    Linux干貨 2016-08-04
  • Linux 系統終端

    Linux系統的主要終端主要包含:控制臺終端、控制終端、串口終端、偽終端、虛擬終端。 控制臺終端:在Linux 系統中,計算機顯示器通常被稱為控制臺終端(Console)內核將信息送到控制臺終端上(/dev/console), 通過與console相關聯的虛擬終端將信息顯示到屏幕上。再開機過程中屏幕輸出的信息,這個屏幕就是Console; 控制終端:鍵盤,顯…

    Linux干貨 2016-10-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-29 15:24

    寫的很好,可以多注意一下排版問題,加油

欧美性久久久久