1、寫一個(gè)腳本,能夠批量添加用戶或能夠多位置參數(shù)式地添加多個(gè)用戶,實(shí)現(xiàn)一個(gè)即可
用while read 實(shí)現(xiàn)
#!/bin/bash
#
#*************************************************************
#Author:? ? ? ? ? ? ? ? ? ? ruan
#QQ:? ? ? ? ? ? ? ? ? ? ? ? 1097744154@qq.com
#Date:? ? ? ? ? ? ? ? ? ? ? 2021-06-20
#FileName:? ? ? ? ? ? ? ? ? 111.sh
#Description:? ? ? ? ? ? ? ? The test script
#Copyright (C):? ? ? ? ? ? ? 2021? All rights reserved
#************************************************************
#
touch /data/user_name
for i in "$@";do
? echo "$i"| cat? >>/data/user_name
done
while read name ;do
? ? useradd "$name"
done < /data/user_name
用for實(shí)現(xiàn):
#!/bin/bash
#
#*************************************************************
#Author:? ? ? ? ? ? ? ? ? ? ruan
#QQ:? ? ? ? ? ? ? ? ? ? ? ? 1097744154@qq.com
#Date:? ? ? ? ? ? ? ? ? ? ? 2021-44-20
#FileName:? ? ? ? ? ? ? ? ? ruan.sh
#Description:? ? ? ? ? ? ? ? The test script
#Copyright (C):? ? ? ? ? ? ? 2021? All rights reserved
#************************************************************
#
touch /data/user_name
for i in "$@";do
? if? id "$i" &>/dev/null;then
? ? ? echo "$i"用戶已經(jīng)存在
? else
? ? ? useradd "$i"
? ? echo "the $i is established"
? fi
done
用 shift實(shí)現(xiàn):
#!/bin/bash
#
#*************************************************************
#Author:? ? ? ? ? ? ? ? ? ? ruan
#QQ:? ? ? ? ? ? ? ? ? ? ? ? 1097744154@qq.com
#Date:? ? ? ? ? ? ? ? ? ? ? 2021-50-20
#FileName:? ? ? ? ? ? ? ? ? sss.sh
#Description:? ? ? ? ? ? ? ? The test script
#Copyright (C):? ? ? ? ? ? ? 2021? All rights reserved
#************************************************************
#
until [ "$1" ] ;do
? ? ? echo "請(qǐng)輸入需要添加的用戶名"
? ? ? break
done
while [ "$1" ] ;do
? ? ? ? id "$1"&>/dev/null&&echo "$1已存在"|| { useradd "$1";echo "$1"用戶創(chuàng)建成功 ;}
? ? ? shift
done
2、簡(jiǎn)述二層網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)包路由過程
tcp/ip模型分層二層為網(wǎng)絡(luò)層,源主機(jī)為A 目的主機(jī)為B 數(shù)據(jù)包路由過程如下
1)A主機(jī)通過ip neigh/arp -n 查看內(nèi)存中是否以存在B主機(jī)地址信息?
2)如無地址通過arp廣播確認(rèn)B主機(jī)MAC地址 ,跨網(wǎng)段通訊arp廣播傳遞給路由一端,由路由另一端繼續(xù)發(fā)送arp廣播匹配,注:經(jīng)過路由時(shí)源mac地址已發(fā)生改變
3)B主機(jī)通過arp廣播返回確認(rèn)地址 完成ip包路由過程
4)ip報(bào)頭主要包含信息:版本,長(zhǎng)度,協(xié)議(1為icmp,6為tcp,17為udp),源地址,目標(biāo)地址,生存時(shí)間
3、簡(jiǎn)述三層網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)包路由賽程
tcp/ip模型分層三層為傳輸層,數(shù)據(jù)包路由過程為客戶端 與服務(wù)器端之間通信? 主要采用協(xié)議為tcp/udp協(xié)議
1)確認(rèn)需要使用的協(xié)議
? tcp 協(xié)議:面向連接,確認(rèn)機(jī)制安全可靠,全雙工協(xié)議,半關(guān)閉,數(shù)據(jù)恢復(fù)重傳,錯(cuò)誤檢查。流量及擁塞控制? 主要應(yīng)用如:qq 微信? 郵件等
? udp協(xié)議:非面向連接,傳輸性能高,無數(shù)據(jù)恢復(fù),不可靠的網(wǎng)絡(luò)訪問,主要應(yīng)用如:視頻 語音等
2)tcp協(xié)議通過三次握手進(jìn)行數(shù)據(jù)路由的連接建立,4次揮手?jǐn)嚅_連接? ?
tcp包頭主要包含:源端口? 目的端口? 序號(hào) 確認(rèn)號(hào)? 邏輯位
三次握手:一般為客戶端主動(dòng)發(fā)起
? ? ? 客戶端發(fā)送帶有建立連接的邏輯為SYN=1? ?編號(hào)seq=x 的信息到服務(wù)器,此時(shí)客戶端處于SYN-SENT同步以發(fā)送狀態(tài)
? ? ?服務(wù)器監(jiān)聽端口處于監(jiān)聽狀態(tài),收到客戶端信息,返回帶有 SYN=1? 確認(rèn)位ACK=1 seq=y ack=x+1?信息? 此時(shí)服務(wù)器處于SYN-RCVD同步收到狀態(tài)
? ? 客戶端發(fā)送ACK=1 ,seq=x+1 ack=y+1 的信息? ? ? 此時(shí)客戶端及服務(wù)器建立連接
四次揮手:客戶端和服務(wù)器都有可能發(fā)起? 以客戶端發(fā)起為例
? ? 客戶端和服務(wù)器都處在ESTAB-LISHED 建立連接狀態(tài)
? ? 客戶端發(fā)送帶有FIN=1 seq=x 的信息到服務(wù)器 ,發(fā)送后處于終止等待狀態(tài)FIN-WAIT
? ? 服務(wù)器收到后發(fā)送ACK=1 seq=y ack=x+1 信息到客戶端 此時(shí) 處于關(guān)閉狀態(tài) close-wait
? ? 服務(wù)器發(fā)送 FIN=1 ACK=1 seq=w ack=x+1 的信息到客戶端 此時(shí)處于 最后確認(rèn)狀態(tài)last-ack
? ?客戶端發(fā)送ACK=1 seq=u+1 ack=w+1 信息到服務(wù)器? ? ? ?斷開連接