N21-天天-第八周課程練習

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

主要功能:
網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。
集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI參考模型第一層,即“物理層”。
二層交換機工作于OSI模塊的第2層(數據鏈路層),故稱為二層交換機??梢宰R別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
三層交換機就是具有路由功能的交換機。
路由器工作于OSI參考模型的第3層(網絡層),是連接因特網中各局域網、廣域網的設備,它根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順序發送信號。

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

IP地址中的前五位用于標識IP地址的類別,IP地址共分五類。
A類地址:以0開頭,網絡地址7位,主機地址24位
B類地址:以10開頭,網絡地址14位,主機地址16位
C類地址:以110開頭,網絡地址21位,主機地址8位
D類地址:以1110開頭,組播地址
E類地址:以11110開頭
子網掩碼的表示形式:
1)通過與IP地址格式相同的點分十進制表示,如255.255.255.0
2)在IP地址后加上“/”符號以及1-32的數字,其中1-32的數字表示子網掩碼中網絡標識位的長度,如192.168.1.0/24
子網掩碼的作用:
1)用于屏蔽IP地址的一部分以區別網絡標識和主機標識
2)用于將一個大的IP網絡劃分為若干小的子網絡

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

OSI七層模型:
1)物理層:主要功能是完成相鄰結點之間原始比特流的傳輸,控制數據怎么被放置到通信介質上。
2)數據鏈路層:主要功能是如何在不可靠的物理線路上進行數據的可靠傳輸。完成的是網絡中相鄰結點之間可靠的數據通信。
3)網絡層:主要功能是完成網絡中主機間的報文傳輸。
4)傳輸層:是整個網絡的關鍵部分,實現兩個用戶進程間端到端的可靠通信,處理數據包錯誤、數據包次序,以及其他一些關鍵傳輸問題,
5)會話層:允許不同機器上的用戶之間建立會話關系。
6)表示層:處理用戶信息的表示問題,如編碼、數據格式轉換和加密等。
7)應用層:是用戶與網絡,以及應用程序與網絡間的直接接口,使得用戶能夠與網絡進行交互聯系,實實現各種服務
TCP/IP4層模型
1)網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。
2)網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。
3)傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。
4)應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。

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

vim /etc/sysconfig/network-scripts/ifcfg-eth0    
DEVICE=eth0                                     #網卡號,和ifcfg-eth0對應就可以>
TYPE=Ethernet                                    #網絡類型
UUID=b04b477a-06f1-494b-85f8-83e070dc9010                            
ONBOOT=yes                                      #啟動時啟用連接
NM_CONTROLLED=yes                                #network manager參數
BOOTPROTO=none                                  #獲得IP地址方式,手動選擇none,自動選擇dhcp
IPADDR=192.168.1.61                             #設定IP地址
PREFIX=24                                       #掩碼位數
GATEWAY=192.168.1.254                           #網關
DNS1=192.168.1.1                                #DNS
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
修改完成后重啟網絡
/etc/init.d/network restart

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

 1)可以使用ifconfig ip addr 命令來設置網卡的ip地址及網關;設置后立即生效,重啟后生效。
 2)可以修改網絡配置文件/etc/sysconfig/network-scripts/ifcfg-接口,設置IP、MAC、網關,重啟服務服務后生效。
 3)使用setup圖形界面設置網絡信息
 4)使用system-config-network-tui

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

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

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

#!/bin/bash
net=172.16.250
for((i=1;i<=254;i++))
do
    if ping -c 1 -w 1 $net.$i &> /dev/null;then
        echo -e "\033[32m $net.$i\033[0m"
    else
        echo -e "\033[31m $net.$i\033[0m"
    fi
done

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

vim /etc/sysconfig/network-scripts/ifcfg-eth0    
DEVICE=eth0                                     #網卡號,和ifcfg-eth0對應就可以>
TYPE=Ethernet                                    #網絡類型
UUID=b04b477a-06f1-494b-85f8-83e070dc9010                            
ONBOOT=yes                                      #啟動時啟用連接
NM_CONTROLLED=yes                                #network manager參數
BOOTPROTO=none                                  #獲得IP地址方式,手動選擇none,自動選擇dhcp
IPADDR=192.168.1.61                             #設定IP地址
PREFIX=24                                       #掩碼位數
GATEWAY=192.168.1.254                           #網關
DNS1=192.168.1.1                                #DNS
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
修改完成后重啟網絡
/etc/init.d/network restart

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

1)命令方式,即時生效
ip addr add 192.168.1.66/24 dev eth0:1
2)創建配置文件,重啟服務后生效
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0{,:1}
vim ifcfg-eth0:1
修改以下內容
DEVICE=eth0:1
IPADDR=192.168.1.66
PREFIX=24

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

1)ifconfig
ifconfig -a:     查看所有網絡接口信息
ifconfig interface     查看指定網絡接口信息
ifconfig interface up|download     啟用或停用指定網絡接口
ifconfig interface ip/mask [up]     設定指定網絡接口IP地址和掩碼
2)route
route -n查看所有路由信息
route add添加路由
    route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
    route add -net 192.168.0.0/24 gw 192.168.0.254 dev eth0
    route add -host192.168.1.5 gw 192.168.1.254 dev eth1
route del刪除路由
    route del [-net|-host] target [netmask ] [gw Gw][dev] 
    route del -net 192.168.0.0 255.255.255.0
    route del -host192.168.1.5
3)netstat
-t    tcp協議相關的連接
-u    udp協議相碰的連接
-w    raw socker相關的連接
-l    處于監聽狀態的連接
-a    所有的連接
-n    以數字顯示ip和端口
-e    擴展格式
-p    顯示相關進程及PID
常用組合
-tan
-uan
-tln
-uln
4)ip
ip link
    ip link set DEVICE IFACE up/down 激活或禁用指定接口
    ip link show up/dev 顯示所有激活狀態/指定接口信息
ipaddr
    ip addr { add | del } IFADDR dev STRING 增加或刪除IP地址
    ip addr show 顯示網絡接口信息
ip route
    ip route { add | del | show} 添加、刪除或顯示路由
5)ss
-t    tcp協議相關的連接
-u    udp協議相碰的連接
-w    raw socker相關的連接
-l    處于監聽狀態的連接
-a    所有的連接
-n    以數字顯示ip和端口
-e    擴展格式
-p    顯示相關進程及PID
-x    unix sock相關
-m    內存用量
-o    計時器信息

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

1)用rpm命令管理程序包
安裝    rpm -ivh     PACKAGE_FILE    安裝包
升級    rpm -Uvh    PACKAGE_FILE    升級包,無則安裝此包
          rpm -Fvh    PACKAGE_FILE    升級包,無則無變化
查詢    rpm -qa | grep FileName    查詢已安裝的某個軟件
          rpm -qf     FILE    查詢文件出處
          rpm -qc    PACKAGE_FILE    查詢包的配置文件
          rpm -ql    PACKAGE_FILE    查詢包的所有文件
          rpm -qd    PACKAGE_FILE    查詢包的信息
          rpm -qpi   PACKAGE_FILE    安裝之前查詢包信息
          rpm -qpl    PACKAGE_FILE    安裝之前查詢包的所有文件
卸載    rpm -e    PACKAGE_FILE    卸載包
驗證    rpm -V    PACKAGE_FIL    E驗證包
          rpm --import     PUBKEY    導入公鑰
維護    rpm initdb新建數據庫
           rpm rebuilddb重建數據庫
2)用yum倉庫來管理程序包
查看
    yum info PACKAGE_FILE            查看包信息
    yum historylist                        查看yum事務歷史
    yum deplistpackage1                查看包依賴
顯示
    yum repolist all    顯示yum倉庫列表
    yum list installed    顯示已安裝列表
    yum list available    顯示可用包
    yum list updates    顯示可升級的包
    yum list anaconda    顯示系統安裝的包
安裝 
    yum install PACKAGE_FILE    安裝包
    yum localinstall rpmfile1    安裝本地包
升級
    yum update PACKAGE_FILE    升級包
    yum downgrade PACKAGE_FILE    降級包
    yum check-update    檢查更新
卸載
     yum remove PACKAGE_FILE    卸載包
    yum providesfeature1    查看指定的特性
    yum clean    清理本地緩存
    yum search string1    搜索字符串
    yum info PACKAGE_FILE    查看包信息
包組管理
    yum groupinstall group1 [group2] [...]    安裝包組
    yum groupupdate group1 [group2] [...]    升級包組
    yum grouplist [hidden] [groupwildcard][...]    顯示包組
    yum groupremove group1 [group2] [...]    卸載包組
    yum groupinfo group1 [...]     查看包組信息

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

(1)掛載光盤至某目錄
mount -r /dev/sr0 /mnt/
(2)創建配置文件
vim /etc/yum.repos.d/CentOS-DVD.repo
[CentOS6.6]
name=CentOS cdrom    #倉庫的名字
baseurl=file:///mnt    #repodata目錄的倉庫訪問路徑
gpgchecked=0    #使用前是否檢驗包
enabled=1    #是否啟用此倉庫

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

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

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

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

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

#!/bin/bash
declare -i k=0,s=0
for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$")
do
echo "$i stop"
let k++
done
for j in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$")
do
echo "$j start"
let s++
done
echo "S開頭的文件有$s個,K開頭的文件有$k個!"

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

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

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

#!/bin/bash
declare -i sum
if [ $# -lt 1 ];then
echo "At least one username"
exit 1
else
for name in $*
do
if id $name &> /dev/null;then
let sum+=$(grep "^\<$name\>" /etc/passwd | cut -d: -f3)
fi
done
echo "id sum is $sum"
fi

14、寫一個腳本

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

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

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

#!/bin/bash
if [ $# -lt 1 ];then
echo "At  least a Directory"
exit 1
fi
ls -l "$@" | grep ^d | awk '{print $NF}' > directory
ls -l "$@" | grep ^- | awk '{print $NF}' > files
ls -l "$@"
echo "Total $(wc -l directory) "
echo "Total $(wc -l files) "

15、寫一個腳本

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

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

  #!/bin/bash
if [ $# -lt 1 ];then
echo "At least one username"
exit 1
fi
if id $1 &> /dev/null;then
uid=$(grep "^\<$1\>" /etc/passwd | cut -d: -f3)
if [ $uid -ge 500 ];then
echo "$1 is regular user"
else
echo "$1 is system user"
fi
else
echo "$1 is not exists"
fi

16、寫一個腳本

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

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

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

#!/bin/bash
declare -i num
for((i=1;i<11;i++)){
if ! id user$i &> /dev/null;then
useradd user$i
echo user$i:user$i | chpasswd
let num++
fi
}
echo "Add $num users!"

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

#!/bin/bash
net="172.16.250."
for((i=20;i<=100;i++)){
ping -c 1 $net$i &> /dev/null
if [ $? -eq 0 ];then
echo $net$i
fi
}

18、打印九九乘法表;

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

原創文章,作者:N21-天天,如若轉載,請注明出處:http://www.www58058.com/40756

(0)
N21-天天N21-天天
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • Linux上命令使用格式及如何獲取幫助信息

    Linux系統上命令使用: 命令本身是一個可執行的程序文件,二進制格式的文件,有可能會調用共享庫文件,發起一條命令,請求內核將某一個二進制程序運行為一個進程。   命令的語法格式:   ~]#COMMAND(命令)   OPENTIONS(選項)   ARGUMENTS(參數) command 命令…

    Linux干貨 2016-10-30
  • linux中for的用法

    關于linuxbash shell中的for語句 在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循環命令,今天就介紹一下關于for的一些用法。文中任何錯誤希望大佬們一一指出,不勝感激。 bashshell中提供了for命令,用于創建通過一系列值重復的循環,每次重復使用系列中的一個值執行一個定義的命令…

    2017-07-15
  • Linux系統的基礎命令及事例講解

    Linux操作系統是系統運維領域里逐步強大,逐步受到關注的一款開源系統,它包含里大量的命令及程序,以下是我在這一周內學到的幾種命令及獲取幫助命令的方法: 1  tty    tty是查看終端設備的一個命令,輸入之后系統會提示如下:    /dev/pts/1   其中pts代表是在命令行接口下終端類…

    Linux干貨 2016-10-30
  • Linux的用戶,組及文件權限管理

    Linux用戶與組的創建,刪除,屬性修改,文件權限管理

    Linux干貨 2018-02-24
  • Linux文件層級結構標準(FHS)

    Linux文件層級結構標準(FHS) 設計FHS(Filesystem Hierarchy Standard)的目的主要是為了給Unix-like系統的管理員提供一個管理系統以及目錄結構的一個參考。 由于利用Linux源碼開發產品和發行版的企業或組織眾多,如果每個組織都按照自己的喜好來組織系統中的文件結構,網絡上必然出現各種各樣的文件結構。這些產品的用戶就不…

    2016-12-05
  • 第七周作業

    查看作業內容請移步此鏈接:http://www.cnblogs.com/wangenzhi/p/6403568.html

    Linux干貨 2017-02-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-30 13:25

    完成功能,還要展示一二

欧美性久久久久