溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中常用的Shell腳本有哪些

發(fā)布時間:2021-09-27 10:06:33 來源:億速云 閱讀:99 作者:柒染 欄目:編程語言

今天就跟大家聊聊有關PHP中常用的Shell腳本有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1、通過位置變量創(chuàng)建linux系統(tǒng)賬戶及密碼

$1 是執(zhí)行腳本的第一個參數(shù),$2 是執(zhí)行腳本的第二個參數(shù)

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 19:19:45
# Name: userad.sh
# Version: v1.0
# Description: This is a Script.

`useradd $1`
echo "$2" |passwd --stdin "$1"

2、每周5使用tar命令備份/var/log 下的所有日志文件,防止文件覆蓋

vim backup.sh
tar zcfP /tmp/varlog_$(date +%F).tar.gz /var/log
crontab -e
* * * * 5 bin/bash /server/scripts/backup.sh

3、實時監(jiān)控本機內(nèi)存和硬盤剩余空間,剩余內(nèi)存小于500M,根分區(qū)剩余空間小于1000M的時候發(fā)送報警郵件

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 20:29:30
# Name: jiankong.sh
# Version: v1.0
# Description: This is a Script.

free=`free -m|awk 'NR==3 {print$4 }'`
df=`df |awk 'NR==2{print $4}'`

if [[ $free -lt 500 && $df -lt 1000000 ]];then
mail -s "Warning~" 1227566276@qq.com
echo 'send success!'
else
echo 'zhengchang!'
exit 0
fi

4、腳本生成一個 100 以內(nèi)的隨機數(shù)值,提示用戶猜數(shù)字,更具用戶的輸入,提示用戶猜對了,猜打了或猜小了,直至用戶猜對腳本結束。

5、檢測本機當前用戶是否為超級管理員,如果是管理員,使用 yum 安裝 vsftpd,如果不是,則提示您非管理員,使用字串對比版本。

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 20:43:03
# Name: root.sh
# Version: v1.0
# Description: This is a Script.

root=`id -u`
if [ $root -eq 0 ];then
yum install -y vsftpd
else
echo 'no super user~'
fi

6、依次提示用戶輸入 3 個整數(shù),腳本根據(jù)數(shù)字大小依次排序輸出 3 個數(shù)字

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 20:45:50
# Name: 3geshu.sh
# Version: v1.0
# Description: This is a Script.
read -p "first:" a
read -p "second:" b
read -p "third:" c

if [[ -z $a || -z $b || -z $c ]];then
echo "please input num---"
exit 1
fi

if [[ -n "$(echo $a| sed -n "/^[0-9]\+$/p")" && -n "$(echo $b| sed -n "/^[0-9]\+$/p")" && -n "$(echo $c| sed -n "/^[0-9]\+$/p")" ]];then

if [ $a -lt $b ];then
t=$a;a=$b;b=$t;
fi
if [ $a -lt $c ];then
t=$a;a=$c;c=$t;
fi
if [ $b -lt $c ];then
t=$b;b=$c;c=$t;
fi
echo " big --- small:$a,$b,$c"

else
echo "dont abcd...."
fi

7、編寫腳本,實現(xiàn)人機《石頭,剪刀,布》游戲

8、編寫腳本測試192.168.4.0/24整個網(wǎng)段中那些主機處于開機狀態(tài),那些主機處于關機狀態(tài)(for 版本)

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 21:13:05
# Name: ping1.sh
# Version: v1.0
# Description: This is a Script.
for i in {1..254}
do
ping 192.168.4.$i -c 2 -w 1 2&>1 >/dev/null
if [ $? -eq 0 ];then
echo "192.168.4.$i active!!!"
else
echo "192.168.4.$i down..."
fi
done

9、編寫腳本測試 192.168.4.0/24 整個網(wǎng)段中那些主機處于開機狀態(tài),那些主機處于關機狀態(tài)(多進程版),定義一個函數(shù)來實現(xiàn),ping 某一臺主機,并檢測主機的存貨狀態(tài)

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 21:18:43
# Name: ping2.sh
# Version: v1.0
# Description: This is a Script.
fun_ping(){

ping 192.168.4.$i -c 1 -w 1 2&>1 >/dev/null
if [ $? -eq 0 ]
then 
echo "192.168.4.$i active!"
else 
echo "192.168.4.$i down."
fi 
}
for i in {1..254}
do 
fun_ping
done

10、編寫腳本,復制文件的時候,顯示進度條

11、9*9 乘法表(編寫 shell 腳本,打印 9*9 乘法表)


12、使用死循環(huán)實時顯示 eth0 網(wǎng)卡發(fā)送的數(shù)據(jù)包流量

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 21:50:32
# Name: eth5.sh
# Version: v1.0
# Description: This is a Script.
while :
do
ifconfig eth5 |sed -n '5,6p'
done

13、使用user.txt 文件中的人員名單,在計算機中自動創(chuàng)建對應的賬戶并配置初始密碼
腳本執(zhí)行,需要提前準備一個 user.txt 文件,該文件中包含有若干用戶信息

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 21:27:13
# Name: zidonguser.sh
# Version: v1.0
# Description: This is a Script.
user=`cat /server/scripts/user.txt`
for i in $user
do
useradd $i
echo "123456" |passwd --stdin "$i"
done

14、編寫批量修改擴展名腳本,如批量將 txt 文件修改為doc文件

執(zhí)行腳本時,需要給腳本添加位置參數(shù)

腳本名 txt doc (可以將 txt 的擴展名修改為doc)

腳本名 doc jpg(可以將doc 的擴展名修改為jpg)

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 18:58:14
# Name: rename.sh
# Version: v1.0
# Description: This is a Script.
read -p "input weizhi" $wz
for i in `ls $wz`
do
mv $i `echo $i|sed s#txt#doc#g`

done

15、查看有多少遠程的 IP 在連接本機(不管是通過 ssh 還是 web 還是 ftp 都統(tǒng)計)

使用 netstat -atn 可以查看本機所有連接狀態(tài),-a 查看所有,

-t 僅顯示tcp連接信息, -n數(shù)字格式顯示

local address(第四列是本機的IP和端口信息)

Foreign address(第五烈是遠程主機的IP和端口信息)

使用awk命令僅顯示第5列數(shù)據(jù),再顯示第1列IP地址的信息

sort 可以按數(shù)字的大小排序,最后使用 Uniq 將多余重復的刪除,并統(tǒng)計重復次數(shù)

#netstat -atn | awk -F"[: ]+" '{print $5}' 端口號
netstat -atn |egrep ":80|:22|:21" | awk '{print $5}' |awk -F ":" '{print $1}' |sort -rn |uniq -c

16、對100 以內(nèi)的所有正整數(shù)相加求和(1+2+3.。。+100)

eq 100 可以快速自動生成100個整數(shù)

#!/bin/bash
# Author: Peter zh
# Blog: https://home.cnblogs.com/zhangwduoduoj/
# Time: 2019-08-17 21:10:05
# Name: qiuhe.sh
# Version: v1.0
# Description: This is a Script.

sum=0
for i in `seq 100`
do
let sum+=i
done
echo $sum

看完上述內(nèi)容,你們對PHP中常用的Shell腳本有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI