1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。
網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。
集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心的節點上。它工作于OSI參考模型第一層,即“物理層”。
二層交換機工作于OSI模塊的第2層(數據鏈路層),故稱為二層交換機。可以識別數據包中的MAC地址信息,根據MAC地址進行轉發,并將這些MAC地址與對應的端口記錄在自己內部的一個地址表中。
三層交換機就是具有路由功能的交換機。
路由器工作于OSI參考模型的第3層(網絡層),是連接因特網中各局域網、廣域網的設備,它根據信道的情況自動選擇和設定路由,以最佳路徑,按前后順發送信號
2、IP地址的分類有哪些?子網掩碼的表示形式及其作用。
A類:1-127默認子網掩碼:255.0.0.0 10.0.0.0/8
B 類:128-191默認子網掩碼:255.255.0.0 172.16.0.0/16-172.31.0.0/16
C 類:192-223默認子網掩碼:255.255.255.0 192.168.0.0/24-192.168.255.0/24
D 類:223-254
3、計算機網絡的分成模型有哪些(OSI模型和TCP/IP模型),每一層的功能及涉及到的物理設備有哪些。
OSI七層模型:
應用層:提供應用程序之間通信,
表示層:處理數據格式、數據加密
會話層:建立,維護,管理會話連接涉及操作系統和網絡接口和各種數據
傳輸層:建立主機端到端連接,涉及物理設備
網絡層:尋址和路由選擇涉及物理設備,路由器
數據鏈路層:提供介質訪問,鏈路管理,將數據分幀并處理流控制。網卡,網橋,交換機
物理層:比特流傳輸,將數據轉換為可通過物理介質傳送的電子信號物理設備雙絞線、同軸電纜,集線器
TCP/IP 4層模型:
網絡訪問層:功能包括IP地址與物理硬件地址的映射,以及將IP分組封裝成幀。基于不同硬件類型的網絡接口,定義了和物理介質的連接。相當于OSI參考模型的物理層和數據鏈路層。
網際層:處理來自傳輸層的分組發送請求;處理輸入數據報;處理ICMP報文,即處理網絡的路由選擇、流量控制和擁塞控制等問題。在功能上類似于ISO/OSI參考模型中的網絡層。
傳輸層:主要功能是可靠而又準確地傳輸并控制源主機與目的主機之間的信息流,提供端到端的控制,通過滑動窗口機制提供流控制,通過序列號和確認機制來保證可靠性。
應用層:包括所有的高層協議,與OSI的應用層協議相差不大,包括HTTP、Telnet、FTP、SMTP、POP3、DNS等。
4、如何將Linux主機接入到TCP/IP網絡,請描述詳細的步驟。(手動指定的方式)
1)使用ip -a命令查看是否有發現網卡
2)編輯/etc/sysconfig/network-script/ifcfg-ethX centos 為eno17736,配置啟動必要的參數,如:
BOOTPROTO=none
ONBOOT=yes
IPADDR=########
NETMASK=########
GATEWAY=########
DNS1=########
3)service network restart
6、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bashfor ((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、詳細描述每個網絡接口的配置文件中各個參數的含義和其所對應的值;
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #設備名稱,一般和NAME相同
TYPE=Ethernet #網絡類型
ONBOOT=yes #系統啟動時啟用連接
NM_CONTROLLED=yes #接受network manager服務控制
BOOTPROTO=none #獲得IP地址方式,手動選擇none,自動選擇dhcp
IPADDR=192.168.199.61 #設定IP地址
PREFIX=24 #掩碼位數,也可使用NETMASK=255.255.255.0
GATEWAY=192.168.199.254 #網關
DNS1=192.168.199.1 #DNS
DEFROUTE=yes #是否作為默認路由
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
8、如何給網絡接口配置多個地址,有哪些方式?
1)使用ipaddr/ifconfig 命令添加IP,即時生效,重啟系統后IP不存在
2)使用setup命令,出現面板添加IP
3)在/etc/sysconfig/network-scripts目錄下修改網卡配置文件添加IP,需重啟網卡,永久有效
9、常用的網絡管理類工具有哪些,并用示例形式描述他們的使用方法
ss -nutlp
netstat
10、Linux系統軟件包管理方法(安裝、升級、卸載等操作)有哪些,以及如何管理的。
rpm命令實現程序管理:
安裝:-ivh, –nodeps, –replacepkgs
卸載:-e, –nodeps
升級:-Uvh, -Fvh, –nodeps, –oldpackage
查詢:-q, -qa, -qf, -qi, -qd, -qc, -q –scripts, -q –changlog, -q –provides, -q –requires
校驗:-V
導入GPG密鑰:–import, -K, –nodigest, –nosignature
數據庫重建:–initdb, –rebuilddb
Yum 命令實施軟件包管理:
repolist [all|enabled|disabled]
顯示程序包:list
#yum list [all | glob_exp1] [glob_exp2] […]
#yum list {available|installed|updates} [glob_exp1] […]
安裝程序包: install package1 [package2] […]
reinstall package1 [package2] […] (重新安裝)
升級程序包:
update [package1] [package2] […]
downgrade package1 [package2] […] (降級)
檢查可用升級:
check-update
卸載程序包:
remove | erase package1 [package2] […]
查看程序包information:
info […]
查看指定的特性(可以是某文件)是由哪個程序包所提供:
provides | whatprovides feature1 [feature2] […]
清理本地緩存:
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
構建緩存:
makecache
DNF 命令實施軟件包管理:
11、如何使用發行版光盤作為yum repository,請描述該過程。
1)掛載光盤至某目錄
mount /dev/sr0 /mnt/
2)創建配置文件
vim /etc/yum.repos.d/cdrom.repo
[cdrom] #倉庫的名字
name=66666 #倉庫的描述
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 startsum=0,stopsum=0for i in $(ls /etc/rc.d/rc3.d/);do string=$(echo ${i:0:1}) if [ $string == K ];then echo "$i stop" let stopsum++ elif [ $string == S ];then echo "$i start" let startsum++ fi done echo "start S:$startsum"echo "start K:$stopsum
13、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash sum=0if [ $# -lt 1 ];then echo "plz at least a username!" exit 20 fifor i in $*;do if id $i &>/dev/null;then sum+=$(id -u $i) else echo "the user $i is not exist!" exit 30 fi done echo "sum gid:$sum"
14、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
[ -d $i -a -x $i ]檢查文件夾是否存在,且是否有權限讀取
ls -l $i |grep ^d 取出目錄
ls -l /tmp/ |grep -v ^d取出非目錄
#!/bin/bash dsum=0,fsum=0if [ $# -le 1 ];then echo "input at least a filepath!"fifor i in $*;do if [ -d $i -a -x $i ];then ls -l $i |grep ^d |awk '{print $NF}' let dsum+=$(ls -l /tmp/ |grep ^d |wc -l) let fsum+=$(ls -l /tmp/ |grep -v ^d |wc -l) else echo "The $i is not exist or Permission denied,please check it!" exit 2 fi done echo "the directories sum:$dsum" echo "the file sum:$fsum"
15、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bashif [ $# -lt 1 ];then echo "please input a username at least!"fifor username in $*;do if id $username &>/dev/null;then if [ $(id -u $username) -gt 500 ];then echo "$username is the regular user!" fi else echo "$username is no exist!" fi done
16、寫一個腳本
(1) 添加10用戶user1-user10;密碼同用戶名;
(2) 用戶不存在時才添加;存在時則跳過;
(3) 最后顯示本次共添加了多少用戶;
#!/bin/bash sum=0for ((i=1;i<=10;i++));do if id user$i &> /dev/null;then echo "user$i is exists!" else useradd -M -N user$i &> /dev/null let sum++ echo "user$i is add!" fi done echo "$sum users add done!"
17、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bashfor ((i=1;i<=20;i++));do ping -w 1 -c 1 172.16.250.$i &> /dev/null if [ $? -eq 0 ];then echo "172.16.250.$i is up!" fi done
18、打印九九乘法表;
#!/bin/bashfor j in {1..9};do for i in $(seq 1 $j);do echo -e -n "${i}X${j}=$[$i*$j]\t" done echo done
原創文章,作者:N21-總有刁民想害朕,如若轉載,請注明出處:http://www.www58058.com/46176
腳本排版是不是特別不合理,在仔細看看,前面的內容最好也和腳本一樣的排版