shell指令碼習題練習

2021-10-07 04:27:41 字數 2652 閱讀 4216

//find /var/log -type f |

wc -l;

// ./f1 > f2.txt   shf1 > f2.txt;
// #!/bin/sh

cmd=

"ping -w 2 -c 2"

ip="192.168.1."

for n in

$(seq 254)

do&done

wait

;

ip_address		mac_address 		inte***ce 	static

10.66.10.250 80:71:7a:33:ca:a7 br on

10.66.10.249 5c:50:15:7f:3b:f5 br on

將以上檔名稱test.txt檔案中ip_address,mac_address, inte***ce三項下的內容取出來,值以「:」分割,並呈格式顯示出來。注:

10.66.10.250:80:71:7a:33:ca:a7:br

10.66.10.249:5c:50:15:7f:3b:f5:br

// awk

'nr!=1' test.txt;

// 直接賦值 使用read命令 使用命令列傳參 使用命令輸出;
日誌樣式:

may 4 03:43:07 tz-monitor sshd: failed password for root from 124.232.135.84 port 25251 ssh2

myy 4 03:43:07 tz-monitor sshd: invalid user postgres from 124.232.135.84

// #!/bin/bash

awk'/failed password/end}' /var/log/secure > /tmp/count_ip.txt

while

read line

do ip=

$(echo $line |

awk''

) if

["$ip"

!="192.168.100.100"];

thenif!

grep -w $ip /tmp/drop_ip.txt &

> /dev/null;

then

iptables -i input -s $ip -j drop

echo

$ip>> /tmp/drop_ip.txt

fifidone

< /tmp/count_ip.txt;

inte***ce physical protocol ip adderss

eth1/0/1 up up 199.11.250.1

eth1/0/2 up up 200.11.250.5

loop0 up up(s) 199.11.250.1

vlan1 *down down unassigned

vlan500 down down 139.100.1.157

vlan900 up up 140.11.250.41

// #!/bin/bash

while

read line

do isnum=

$(echo $line |

awk -f "[ .]+" '

') if [[ $isnum =~ ^[0-9]+$ ]];then

if [ $isnum -ne 199 ] && [ $isnum -ne 200 ];then

echo $line | awk '

' fi

fidone

< /tmp/config.txt;

得到如下結果:

網域名稱的出現次數 網域名稱

shell指令碼練習題

bin bash 寫乙個指令碼 1.設定變數file的值為 etc passwd 2.依次向 etc passwd中的每個使用者問好,並且說出對方的id是多少 形如 hello,root,your uid is 0.file etc passwd count wc l cut f1 d for i ...

shell指令碼練習題

bin bash echo 九九乘法表 注意 之間不能有空格 加減乘除的格式 還有轉義字元 ne for i 1 i 9 i i 1 do for j 1 j i j j 1 do result i j echo ne i j result t done echo done bin bash num...

shell指令碼基礎練習題

1.設計乙個 shell 程式,新增乙個新組為 class1,然後新增屬於這個組的 30 個使用者,使用者名稱的形式為stuxx,其中 xx 從 01 到 30。在 tmp目錄下新建乙個shell指令碼std.sh root localhost tmp vim std.sh bin bash 新增乙...