LINUX常用的shell指令碼

2021-08-31 03:02:09 字數 2632 閱讀 9739

1.檢測乙個網段中的主機那一台處於開機狀態

[root@******_xw ssh]# vim ping.sh 

#!/bin/bash

#因為ping在這個指令碼裡邊是乙個反覆出現的動作,所以做成函式比較方便

#定義函式名為myping

read -p "請輸入要測試的網段:" network

myping()

#給函式中的變數賦值

for i in

do myping $i

done

2.檢測ssh的登陸日誌,檢視哪些使用者在一直嘗試訪問自己的電腦

[root@******_xw ssh]# vim secure.sh

#!/bin/bash

#編寫安全監控的指令碼

#檢測ssh登陸日誌

awk '/invalid user/' /var/log/secure | awk 'end}' | awk '$1>3'

awk '/failed password/' /var/log/secure | awk 'end}' | awk '$1>3'

3.簡單的死迴圈指令碼,段時間內增大cpu消耗

[root@******_xw ssh]# vim dead.sh

#!/bin/bash

.().

呼叫函式,使得死迴圈指令碼巢狀死迴圈指令碼,重複執行指令碼命令。

4.查詢網絡卡流量

[root@******_xw ssh]# vim pack.sh

#!/bin/bash

while :

do#clear會清掉螢幕

clear

#-e , "\033[m內容\033[0m"讓標題顯示顏色

echo -e "\033[33m資料報傳輸資訊如下所示:\033[0m"

ifconfig eth0 | grep "rx packets" eth0:顯示的是計算機網絡卡名稱,可以根據自己電腦的網絡卡進行設定。

ifconfig eth0 | grep "tx packets"

#因為顯示資訊太快,這樣看不清楚,所以讓迴圈睡0.5秒鐘

sleep 0.5

done

5.為某乙個程序建立簡單進度條

[root@******_xw ssh]# vim process.sh

#!/bin/bash

#編輯進度條

#思路:建立乙個死迴圈

#舉例:為cp 常見乙個進度條

jindu()

jindu &

cp -r $1 $2

kill $! $!:表示前邊的迴圈程序的pid號,在程式執行結束之後,系統會殺死進度條,顯示100%執行命令完成

echo "100%"

6.檢測linux系統常用的引數

[root@******_xw ssh]# vim ctl.sh

#!/bin/bash

#各種監控資訊指令碼

#檢視cpu負載

cpu=`uptime | awk ''`

echo -e "本機cpu最近15分鐘的負載是:""\033[31m$cpu\033[0m"

#檢視網絡卡流量

net_in=`ifconfig eth0 | awk '/rx p/'`

net_out=`ifconfig eth0 | awk '/tx p/'`

echo -e "網絡卡出站流量為:""\033[31m$net_in\033[0m"

echo -e "網絡卡入站流量為:""\033[31m$net_out\033[0m"

#檢視記憶體剩餘

free=`free -h | awk '/mem/'`

echo -e "本機記憶體剩餘:""\033[31m$free\033[0m"

#檢視磁碟剩餘

disk=`df -h | awk '/\/$/'`

echo -e "磁碟剩餘為:""\033[31m$disk\033[0m"

#檢視計算機賬戶數量

user=`cat /etc/passwd | wc -l`

echo -e "本機共有賬戶:""\033[31m$user\033[0m"個

#檢視有多少使用者是登陸的

nuuser=`who | wc -l`

echo -e "當前登陸的賬戶有:""\033[31m$nuuser\033[0m"個

#檢視本機當前開啟的程序數

ps=`ps aux | wc -l`

echo -e "當前計算機開啟的程序數是:""\033[31m$ps\033[0m"個

#檢視本機當前安裝的軟體包數量

rpm=`rpm -qa | wc -l`

echo -e "本機當前安裝的軟體包數量為:""\033[31m$rpm\033[0m"個

**將這些條目全部寫進指令碼,就可以一鍵查詢系統現在的狀況**

linux 常用shell指令碼

1 偵測程式控制程式碼洩漏 對程序取樣資料3000次,每次間隔10秒,監控程序開啟控制代碼的情況,若出現持續上公升的情況,說明程序異常 bin sh set x echo total handler psid ps ef grep 1 head 1 awk count 0 while count l...

Linux 常用shell小指令碼

1.計算指令碼運算時間 bin bash st date y m d h m s 運算過程開始 sleep 2 運算過程結束 en date y m d h m s st c date d st s en c date d en s interval expr en c st c echo star...

shell指令碼常用指令碼

go指令碼總結 shell指令碼在我們工作過程中會起到相當重要的作用,下面是我在一年工作中儲存下來的常用的指令碼。在某個程式需要完成多機部署,並且路徑一致的時候,通過指令碼來完成部署,啟動,終止是一件很方便的事情。bin bash author zhaoyixing breif 程式部署指令碼 br...