SHELL腳本編程進階(1)

1、編寫腳本實現(xiàn)傳入進程pid,查看對應(yīng)進程/proc下CPU、內(nèi)存指標(biāo)

#!/bin/bash
ps -Lo %cpu,%mem -p `pgrep $1`

2、編寫腳本實現(xiàn)每分鐘檢查一個主機端口是否存活(提示使用namp),如果檢查到端口不在線,sleep10s,如果三次都存在,記錄到日志

#!/bin/bash
i=0
while :;do
        jieguo=`nmap -p$2 $1 |sed -nr 's/^[0-9]+.* ([^ ]+) .*/\1/p'`
        if [[ "$jieguo" =~ "closed" ]];then
                let i++
                if [ $i -eq 3 ];then
                        echo " $2 is closed in `date +%F-%H-%M-%S`" >>chport.log
                else
                        sleep 10
                        continue
                fi
        fi
        i=0
        sleep 60
done

3、編寫腳本/root/bin/excute.sh,判斷參數(shù)文件是否為sh后綴的普通文件,如果是,添加所有人可執(zhí)行權(quán)限,否則提示用戶非腳本文件

#!/bin/bash
if [[ $1 =~ .*\.sh ]];then
        if [ -f $1 ];then
                chmod +x $1
                exit
        fi
fi
echo "It's not a shell script file"

4、編寫腳本/root/bin/nologin.sh和login.sh實現(xiàn)禁止和允許普通用戶登錄系統(tǒng)

#!/bin/bash
usermod -s /sbin/nologin $1
#!/bin/bash
usermod -s /bin/bash $1

5、編寫腳本/root/bin/sumid.sh,計算/etc/passwd文件中的第10個用戶和第20個用戶的ID之和

#!/bin/bash
n1=`sed -nr '10s/[^:]*:[^:]:([^:]*):.*/\1/p' /etc/passwd`
n2=`sed -nr '20s/[^:]*:[^:]:([^:]*):.*/\1/p' /etc/passwd`
echo $[$n1+$n2]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,340評論 0 10
  • bash中變量的種類 局部變量:生效范圍為當(dāng)前shell進程,對當(dāng)前shell之外的其它shell進程,包括當(dāng)前s...
    毛利卷卷發(fā)閱讀 570評論 0 1
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,495評論 3 53
  • 第 2 章 SHELL 基礎(chǔ)知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現(xiàn)在我們來進一...
    LiWei_9e4b閱讀 1,649評論 0 0
  • 流程控制 if 單條件 雙分支 多分支 case case支持glob風(fēng)格的通配符: *: 任意長度任意字符?: ...
    毛利卷卷發(fā)閱讀 824評論 0 1

友情鏈接更多精彩內(nèi)容