一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux 的橋樑。Shell提供了一個介面,使用者透過這個介面訪問作業系統核心的服務, Shell指令碼(shell script)就是一種為Shell編寫的指令碼程式。我們經常說的shell通常都是指shell指令碼。

Shell跟java、php、Python程式設計一樣,只要有一個能編寫程式碼的文字編輯器和一個能解釋執行的指令碼直譯器就可以了。

今天給大家分享一份

《shell指令碼100例》

,顧名思義這份資料就是

100個shell指令碼案例

學會這100個shell指令碼案例思路,就能寫好90%的shell指令碼。

在此展示部分內容,完整版資料領取見文末!!

文件目錄概覽

1。編寫 helloworld 指令碼

2。 透過位置變數建立 Linux 系統賬戶及密碼

3。 每週 5 使用 tar 命令備份/var/log 下的所有日誌檔案

4。 一鍵部署 LNMP(RPM 包版本)

5。 實時監控本機記憶體和硬碟剩餘空間,剩餘記憶體小於 500M、根分割槽剩餘空間小於 1000M時,傳送報警郵件給 root 管理員

6。 指令碼生成一個 100 以內的隨機數,提示使用者猜數字,根據使用者的輸入,提示使用者猜對了,猜小了或猜大了,直至使用者猜對指令碼結束。

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

8。 檢測本機當前使用者是否為超級管理員,如果是管理員,則使用 yum 安裝 vsftpd,如果不是,則提示您非管理員(使用 UID 數字對比版本)

9。 編寫指令碼:提示使用者輸入使用者名稱和密碼,指令碼自動建立相應的賬戶及配置密碼。如果使用者不輸入賬戶名,則提示必須輸入賬戶名並退出指令碼;如果使用者不輸入密碼,則統一使用預設的 123456 作為預設密碼。

10。 依次提示使用者輸入 3 個整數,指令碼根據數字大小依次排序輸出 3 個數字

11。 編寫指令碼,實現人機<石頭,剪刀,布>遊戲

12。 編寫指令碼測試 192。168。4。0/24 整個網段中哪些主機處於開機狀態,哪些主機處於關機狀態(for 版本)

13。 編寫指令碼測試 192。168。4。0/24 整個網段中哪些主機處於開機狀態,哪些主機處於關機狀態(while 版本)

14。 編寫指令碼測試 192。168。4。0/24 整個網段中哪些主機處於開機狀態,哪些主機處於關機狀態(多程序版)

15。 編寫指令碼,顯示進度條

16。 進度條,動態時針版本

17。 9*9 乘法表(編寫 shell 指令碼,列印 9*9 乘法表)

18。 使用死迴圈實時顯示 eth0 網絡卡傳送的資料包流量

19。 使用 user。txt 檔案中的人員名單,在計算機中自動建立對應的賬戶並配置初始密碼

20。 編寫批次修改副檔名指令碼,如批次將 txt 檔案修改為 doc 檔案

21。 使用 expect 工具自動互動密碼遠端其他主機安裝 httpd 軟體

22。 一鍵部署 LNMP(原始碼安裝版本)

23。 編寫指令碼快速克隆 KVM 虛擬機器

24。 編寫一個點名器指令碼

25。 檢視有多少遠端的 IP 在連線本機(不管是透過 ssh 還是 web 還是 ftp 都統計)

26。 對 100 以內的所有正整數相加求和(1+2+3+4…+100)

27。 統計 13:30 到 14:30 所有訪問 apache 伺服器的請求有多少個

28。 統計 13:30 到 14:30 所有訪問本機 Aapche 伺服器的遠端 IP 地址是什麼

29。 列印國際象棋棋盤,效果如下圖:

30。 統計每個遠端 IP 訪問了本機 apache 幾次?

31。 統計當前 Linux 系統中可以登入計算機的賬戶有多少個

32。 統計/var/log 有多少個檔案,並顯示這些檔名

33。 自動為其他指令碼新增直譯器資訊#!/bin/bash,如指令碼名為 test。sh 則效果如下:

34。 自動化部署 varnish 原始碼包軟體

35。 編寫 nginx 啟動指令碼

36。 自動對磁碟分割槽、格式化、掛載

37。 自動最佳化 Linux 核心引數

38。 切割 Nginx 日誌檔案(防止單個檔案過大,後期處理很困難)

39。 檢測 MySQL 資料庫連線數量

40。 根據 md5 校驗碼,檢測檔案是否被修改

41。 檢測 MySQL 服務是否存活

42。 備份 MySQL 的 shell 指令碼(mysqldump 版本)

43。 將檔案中所有的小寫字母轉換為大寫字母

44。 非互動自動生成 SSH 金鑰檔案

45。 檢查特定的軟體包是否已經安裝

46。 監控 HTTP 伺服器的狀態(測試返回碼)

47。 自動新增防火牆規則,開啟某些服務或埠(適用於 RHEL7)

48。 使用指令碼自動建立邏輯卷

49。 顯示 CPU 廠商資訊

50。 刪除某個目錄下大小為 0 的檔案

文章內容概覽

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備

完整版領取資料見下圖!!

一篇文章讓你徹底掌握 shell 指令碼,100個shell案例,學習提升必備