<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          249個(gè)Linux Shell腳本經(jīng)典案例,拿來(lái)即用(附PDF)

          共 3735字,需瀏覽 8分鐘

           ·

          2022-07-25 23:29

          作為一名 Linux 運(yùn)維工程師,會(huì)寫(xiě)好的腳本不僅能提高工作效率,還能有更多的時(shí)間做自己的事。最近在網(wǎng)上沖浪的時(shí)候,發(fā)現(xiàn)大家對(duì)Shell腳本都有“心結(jié)”,要么覺(jué)得自己寫(xiě)出來(lái)不好看,要么根本無(wú)從下手。
          下面分享249個(gè)真實(shí)Shell腳本案例,多看、多練、多學(xué),相信你一定能寫(xiě)出滿(mǎn)意的腳本。

          除此之外,還準(zhǔn)備了一些Shell腳本的編寫(xiě)規(guī)范、入門(mén)手冊(cè)、編寫(xiě)指南等資源,今天一并分享給大家。



          • 由于腳本案例太多,在此僅展示部分,完整版領(lǐng)取方式請(qǐng)見(jiàn)文末

            249個(gè)拿來(lái)即用的shell腳本!


          這249個(gè)Shell腳本共147頁(yè),目錄清楚,一鍵搜索定位,代碼清晰可復(fù)制,電子版可以隨時(shí)拿來(lái)練習(xí)提升,是學(xué)習(xí)、提升、面試必備精品。

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

          #!/bin/bash

          # 通過(guò)位置變量創(chuàng)建 Linux 系統(tǒng)賬戶(hù)及密碼
           
          #$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
          # 編寫(xiě)備份腳本,備份后的文件名包含日期標(biāo)簽,防止后面的備份將前面的備份數(shù)據(jù)覆蓋
          # 注意 date 命令需要使用反引號(hào)括起來(lái),反引號(hào)在鍵盤(pán)<tab>鍵上面
          tar  -czf  log-`date +%Y%m%d`.tar.gz  /var/log 
           
          # crontab ‐e  #編寫(xiě)計(jì)劃任務(wù),執(zhí)行備份腳本
          00  03  *  *  5  /root/logbak.sh

          3、輸入三個(gè)數(shù)并進(jìn)行升序排序

          #!/bin/bash

          # 依次提示用戶(hù)輸入 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
          # 不管誰(shuí)大誰(shuí)小,最后都打印 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

          # 編寫(xiě)一個(gè)點(diǎn)名器腳本
           
          # 該腳本,需要提前準(zhǔn)備一個(gè) user.txt 文件
          # 該文件中需要包含所有姓名的信息,一行一個(gè)姓名,腳本每次隨機(jī)顯示一個(gè)姓名
          while :
          do
          #統(tǒng)計(jì) user 文件中有多少用戶(hù)
          line=`cat user.txt |wc ‐l`
          num=$[RANDOM%line+1]
          sed -n "${num}p"  user.txt
          sleep 0.2
          clear
          done

          5、對(duì)100以?xún)?nèi)的所有正整數(shù)相加求和(1+2+3.....+100)

          #!/bin/bash

          # 對(duì) 100 以?xún)?nèi)的所有正整數(shù)相加求和(1+2+3+4...+100)
           
          #seq 100 可以快速自動(dòng)生成 100 個(gè)整數(shù)
          sum=0
          for i in `seq 100`
          do
              sum=$[sum+i]
          done
          echo "總和是:$sum"

          6、統(tǒng)計(jì)當(dāng)前Linux系統(tǒng)中可以登錄計(jì)算機(jī)的賬戶(hù)有多少個(gè)

          #!/bin/bash

          # 統(tǒng)計(jì)當(dāng)前 Linux 系統(tǒng)中可以登錄計(jì)算機(jī)的賬戶(hù)有多少個(gè)
          #方法 1:
          grep "bash$" /etc/passwd | wc -l
          #方法 2:
          awk -f: '/bash$/{x++}end{print x}'  /etc/passwd

          8、打印各種格式的時(shí)間

          #!/bin/bash

          # 打印各種時(shí)間格式 
           
          echo "顯示星期簡(jiǎn)稱(chēng)(如:Sun)"
          date +%a
          echo "顯示星期全稱(chēng)(如:Sunday)"
          date +%A
          echo "顯示月份簡(jiǎn)稱(chēng)(如:Jan)"
          date +%b
          echo "顯示月份全稱(chēng)(如:January)"
          date +%B
          echo "顯示數(shù)字月份(如:12)"
          date +%m
          echo "顯示數(shù)字日期(如:01 號(hào))"
          date +%d
          echo "顯示數(shù)字年(如:01 號(hào))"
          date +%Y echo "顯示年‐月‐日"
          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)鍵組成部分,雖然簡(jiǎn)簡(jiǎn)單單幾十行代碼,但可是蘊(yùn)藏著巨大的能量和智慧,還是很值得運(yùn)維朋友學(xué)習(xí)的。


          所有資料已經(jīng)打包好了,想要提升的同學(xué)請(qǐng)務(wù)必拿走學(xué)習(xí)!


          資料整理自網(wǎng)絡(luò),僅作免費(fèi)交流分享,侵刪



            領(lǐng)取方式如下:



          掃描上方二維碼

          備注【249個(gè)shell腳本】

          即可100%免費(fèi)領(lǐng)取

          瀏覽 130
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  影音先锋在线成人片 | 老司机日比视频 | 韩国精品一二三 | 中文字幕在线播放av | 91精品国产91久久久久游泳池 |