1、 統計/var/log下檔案的個數。
在#!/bin/bash
dir=/
var/log
count=0
for i in $/*
doif
[-e $i
] then
count=`expr $count
+ 1`
fidone
echo
$count
2、如何將f1.txt檔案的執行結果輸出到f2.txt裡?
#!/bin/bash
echo
''start
copy file ..''
find .
/-name "f1.txt"
|cat > f2.txt
echo
"done !"
#!/bin/bash
ip=1
while
[$ip
-le 255 ];do
ping -c 3 192.168.1.
$ip &>/dev/null
signal=$?if[
$signal
-eq 0 ]
then
echo
-e "192.168.1.$ip 可以ping通"
else
echo
-e "192.168.1.$ip 不能ping通"
filet ip=$ip
+1done
4、根據以下資訊:
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:br5、在shell中變數的賦值有四種方法,其中採用name=oupeng.com的方法稱"直接賦值
使用read命令
使用命令列傳參
使用命令輸出
6、編寫乙個指令碼,5分鐘檢查一次日誌,發現有暴力ssh破解現象的,提取此類ip位址,並去重,並按降序排序。要求:同乙個ip暴力破解超過10次,自動遮蔽ip位址,指定辦公室ip(192.168.100.100)為可信任ip位址,不受遮蔽規則限制,以下為日誌格式:
日誌樣式:
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"
];then
if! grep -w $ip
/tmp/drop_ip.txt &> /dev/null;then
iptables -i input -s $ip
-j drop
echo
$ip >> /tmp/drop_ip.txt
fifi
done < /tmp/count_ip.txt
7、檢查ip位址合規,請用shell編寫**,列出不以199或200開頭的ip位址,如199.x.x.x 或200.x.x.x
inte***ce physical protocol ip adderss
eth1/0/1 up up 199.11.250.1eth1/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 ''
fifi
done < /tmp/config.txt
8、處理以下檔案內容,將網域名稱提取並進行計數排序,如處理:得到如下結果:
網域名稱的出現次數 網域名稱
9、在單台伺服器linux作業系統環境下,寫一行命令,將所有該機器的所有以「.log.bak「為字尾的檔案,打包壓縮並上傳到ftp上,ftp位址為123.234.25.130的/home/bak資料夾
cd /
find -
type f -name "*.log.bak"
|xargs tar zcf /tmp/all.tar.gz
ftp -i -n <.234.25.130>
user username_*** password_***
binpassive
hash
cd /home/bak
lcd /tmp
put all.tar.gz
quit
ftpit
10、linux指令碼:現在要刪除本機中若干檔案,/root/file.list中記錄了這些檔案的絕對路徑,請用指令碼實現。/root/file.list內容範例:/tmp/1.file
#!/bin/bash
while read line
dorm
$line
-fdone < /root/file.list
基礎總結 練習題
程式開始根據輸 內容判斷列印 師資訊還是學 資訊 定義 個年級類,來返回年級,定義 個班級類返回班級,定義 個 師類繼承年級和班級 類,在 師類中定義 個run 法,在調 時可以列印出 師所在的年級,班級,學科,姓名信 息,定義 個學 類繼承年級和班級類,在該類中定義 個run 法 來列印學 的姓名...
shell指令碼基礎練習題
1.設計乙個 shell 程式,新增乙個新組為 class1,然後新增屬於這個組的 30 個使用者,使用者名稱的形式為stuxx,其中 xx 從 01 到 30。在 tmp目錄下新建乙個shell指令碼std.sh root localhost tmp vim std.sh bin bash 新增乙...
練習題 基礎練習
第一題 需求 1 計算 5 個月的生活大概開銷 spending 比如 rent 房租 800.00 mealcost 吃飯 900.00 clothingcosts 買衣服 300.00 othercosts 其他費用 300.00 public class dome1 第二題 需求 2 計算 1...