日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux编写复制脚本程,常用的Shell脚本

發布時間:2024/7/19 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux编写复制脚本程,常用的Shell脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、通過位置變量創建linux系統賬戶及密碼

$1 是執行腳本的第一個參數,$2 是執行腳本的第二個參數

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 19:19:45

5 #Name: userad.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 `useradd $1`10 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、實時監控本機內存和硬盤剩余空間,剩余內存小于500M,根分區剩余空間小于1000M的時候發送報警郵件

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 20:29:30

5 #Name: jiankong.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

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

12 if [[ $free -lt 500 && $df -lt 1000000]];then13 mail -s "Warning~" 1227566276@qq.com14 echo 'send success!'

15 else

16 echo 'zhengchang!'

17exit 018 fi

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

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

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 20:43:03

5 #Name: root.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 root=`id -u`10 if [ $root -eq 0 ];then11 yum install -y vsftpd12 else

13 echo 'no super user~'

14 fi

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

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 20:45:50

5 #Name: 3geshu.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 read -p "first:"a9 read -p "second:"b10 read -p "third:"c11

12 if [[ -z $a || -z $b || -z $c ]];then13 echo "please input num---"

14 exit 1

15fi16

17 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")"]];then18

19 if [ $a -lt $b ];then20 t=$a;a=$b;b=$t;21fi22 if [ $a -lt $c ];then23 t=$a;a=$c;c=$t;24fi25 if [ $b -lt $c ];then26 t=$b;b=$c;c=$t;27fi28 echo "big --- small:$a,$b,$c"

29

30 else

31 echo "dont abcd...."

32 fi

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

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

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 21:13:05

5 #Name: ping1.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 for i in {1..254}9do10 ping 192.168.4.$i -c 2 -w 1 2&>1 >/dev/null11 if [ $? -eq 0 ];then12 echo "192.168.4.$i active!!!"

13 else

14 echo "192.168.4.$i down..."

15fi16 done

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

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 21:18:43

5 #Name: ping2.sh

6 #Version: v1.0

7 #Description: This is a Script.

8fun_ping(){9

10 ping 192.168.4.$i -c 1 -w 1 2&>1 >/dev/null11 if [ $? -eq 0 ]12then13 echo "192.168.4.$i active!"

14 else

15 echo "192.168.4.$i down."

16fi17}18 for i in {1..254}19do20fun_ping21 done

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

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

12、使用死循環實時顯示 eth0 網卡發送的數據包流量

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 21:50:32

5 #Name: eth4.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 while:9do10 ifconfig eth4 |sed -n '5,6p'

11 done

13、使用user.txt 文件中的人員名單,在計算機中自動創建對應的賬戶并配置初始密碼

腳本執行,需要提前準備一個 user.txt 文件,該文件中包含有若干用戶信息

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 21:27:13

5 #Name: zidonguser.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 user=`cat /server/scripts/user.txt`9 for i in$user10do11useradd $i12 echo "123456" |passwd --stdin "$i"

13 done

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

執行腳本時,需要給腳本添加位置參數

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

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

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 18:58:14

5 #Name: rename.sh

6 #Version: v1.0

7 #Description: This is a Script.

8 read -p "input weizhi"$wz9 for i in`ls $wz`10do11 mv $i `echo $i|sed s#txt#doc#g`

12

13 done

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

使用 netstat -atn 可以查看本機所有連接狀態,-a 查看所有,

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

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

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

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

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

#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 以內的所有正整數相加求和(1+2+3.。。+100)

eq 100 可以快速自動生成100個整數

1 #!/bin/bash

2 #Author: Peter zh

3 #Blog: https://home.cnblogs.com/zhangwduoduoj/

4 #Time: 2019-08-17 21:10:05

5 #Name: qiuhe.sh

6 #Version: v1.0

7 #Description: This is a Script.

8

9 sum=10 for i in `seq 100`11do12 let sum+=i13done14echo $sum15

總結

以上是生活随笔為你收集整理的linux编写复制脚本程,常用的Shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。