由于腳本案例太多,在此僅展示部分,完整版領(lǐng)取方式請(qǐng)見文末
249個(gè)拿來即用的shell腳本!
這249個(gè)Shell腳本共147頁,目錄清楚,一鍵搜索定位,代碼清晰可復(fù)制,電子版可以隨時(shí)拿來練習(xí)提升,是學(xué)習(xí)、提升、面試必備精品。
1、通過位置變量創(chuàng)建Linux系統(tǒng)賬戶及密碼
#!/bin/bash #通過位置變量創(chuàng)建Linux系統(tǒng)賬戶及密碼 #$1是執(zhí)行腳本的第一個(gè)參數(shù),$2是執(zhí)行腳本的第二個(gè)參數(shù) useradd"$1" echo"$2"|passwd‐‐stdin"$1"
2、備份日志
#!/bin/bash #每周5使用tar命令備份/var/log下的所有日志文件 #vim/root/logbak.sh #編寫備份腳本,備份后的文件名包含日期標(biāo)簽,防止后面的備份將前面的備份數(shù)據(jù)覆蓋 #注意date命令需要使用反引號(hào)括起來,反引號(hào)在鍵盤鍵上面 tar-czflog-`date+%Y%m%d`.tar.gz/var/log #crontab‐e#編寫計(jì)劃任務(wù),執(zhí)行備份腳本 0003**5/root/logbak.sh
3、輸入三個(gè)數(shù)并進(jìn)行升序排序
#!/bin/bash #依次提示用戶輸入3個(gè)整數(shù),腳本根據(jù)數(shù)字大小依次排序輸出3個(gè)數(shù)字 read-p"請(qǐng)輸入一個(gè)整數(shù):"num1 read-p"請(qǐng)輸入一個(gè)整數(shù):"num2 read-p"請(qǐng)輸入一個(gè)整數(shù):"num3 #不管誰大誰小,最后都打印echo"$num1,$num2,$num3" #num1中永遠(yuǎn)存最小的值,num2中永遠(yuǎn)存中間值,num3永遠(yuǎn)存最大值 #如果輸入的不是這樣的順序,則改變數(shù)的存儲(chǔ)順序,如:可以將num1和num2的值對(duì)調(diào) tmp=0 #如果num1大于num2,就把num1和和num2的值對(duì)調(diào),確保num1變量中存的是最小值 if[$num1-gt$num2];then tmp=$num1 num1=$num2 num2=$tmp fi #如果num1大于num3,就把num1和num3對(duì)調(diào),確保num1變量中存的是最小值 if[$num1-gt$num3];then tmp=$num1 num1=$num3 num3=$tmp fi #如果num2大于num3,就把num2和num3對(duì)標(biāo),確保num2變量中存的是小一點(diǎn)的值 if[$num2-gt$num3];then tmp=$num2 num2=$num3 num3=$tmp fi echo"排序后數(shù)據(jù)(從小到大)為:$num1,$num2,$num3"
4、點(diǎn)名器腳本
#!/bin/bash #編寫一個(gè)點(diǎn)名器腳本 #該腳本,需要提前準(zhǔn)備一個(gè)user.txt文件 #該文件中需要包含所有姓名的信息,一行一個(gè)姓名,腳本每次隨機(jī)顯示一個(gè)姓名 while: do #統(tǒng)計(jì)user文件中有多少用戶 line=`catuser.txt|wc‐l` num=$[RANDOM%line+1] sed-n"${num}p"user.txt sleep0.2 clear done
5、對(duì)100以內(nèi)的所有正整數(shù)相加求和(1+2+3.....+100)
#!/bin/bash #對(duì)100以內(nèi)的所有正整數(shù)相加求和(1+2+3+4...+100) #seq100可以快速自動(dòng)生成100個(gè)整數(shù) sum=0 foriin`seq100` do sum=$[sum+i] done echo"總和是:$sum"
6、統(tǒng)計(jì)當(dāng)前Linux系統(tǒng)中可以登錄計(jì)算機(jī)的賬戶有多少個(gè)
#!/bin/bash #統(tǒng)計(jì)當(dāng)前Linux系統(tǒng)中可以登錄計(jì)算機(jī)的賬戶有多少個(gè) #方法1: grep"bash$"/etc/passwd|wc-l #方法2: awk-f:'/bash$/{x++}end{printx}'/etc/passwd
8、打印各種格式的時(shí)間
#!/bin/bash #打印各種時(shí)間格式 echo"顯示星期簡稱(如:Sun)" date+%a echo"顯示星期全稱(如:Sunday)" date+%A echo"顯示月份簡稱(如:Jan)" date+%b echo"顯示月份全稱(如:January)" date+%B echo"顯示數(shù)字月份(如:12)" date+%m echo"顯示數(shù)字日期(如:01號(hào))" date+%d echo"顯示數(shù)字年(如:01號(hào))" date+%Yecho"顯示年‐月‐日" date+%F echo"顯示小時(shí)(24小時(shí)制)" date+%H echo"顯示分鐘(00..59)" date+%M echo"顯示秒" date+%S echo"顯示納秒" date+%N echo"組合顯示" date+"%Y%m%d%H:%M:%S"
更多內(nèi)容展示
上下滾動(dòng)查看更多,僅展示部分內(nèi)容
Shell腳本是自動(dòng)化運(yùn)維的關(guān)鍵組成部分,雖然簡簡單單幾十行代碼,但可是蘊(yùn)藏著巨大的能量和智慧,還是很值得運(yùn)維朋友學(xué)習(xí)的。
所有資料已經(jīng)打包好了,想要提升的同學(xué)請(qǐng)務(wù)必拿走學(xué)習(xí)!
而且,這份資料不是掃描版的,都是清晰可見的,非常便于我們學(xué)習(xí):
-
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208716 -
代碼
+關(guān)注
關(guān)注
30文章
4722瀏覽量
68229 -
Shell腳本
+關(guān)注
關(guān)注
0文章
36瀏覽量
7960
原文標(biāo)題:shell腳本難學(xué)?那是因?yàn)槟闵倭诉@份總結(jié)!
文章出處:【微信號(hào):浩道linux,微信公眾號(hào):浩道linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論