Shell指令碼知識簡述

大雄45發表於2022-01-02
導讀 是c語言編寫的程式,它在使用者和作業系統之間架起了一座橋樑,使用者可以透過這個橋樑訪問作業系統核心服務。它既是一種 語言,同時也是一種程式設計語言,你可以透過它來編寫程式。
shell 都能做什麼
  • 監控系統執行: 可以說是執行最穩定的作業系統,這一方面得益於它完美的核心,另一方面就是有很多shell 可以監控系統的執行,當出現問題之前,提前報警。
  • 啟動停止服務:linux中的各種程式幾乎大部分都是透過服務來提供給使用者使用的,而shell 就可以控制服務的啟動和停止,控制服務的重啟等。
  • 備份匯入資料庫:資料庫的資料是非常重要的,我們應該經常備份它們,這樣當我們的資料或者裝置出現問題的時候,我們可以輕鬆地透過備份資料對資料庫進行還原。而shell指令碼就可以進行資料庫的備份和匯入匯出。
  • 日誌的記錄分析:平時我們的應用程式會寫入很多日誌,作業系統本身也會寫入很多日誌,這個時候我們需要shell指令碼對日誌進行分析,定時清理那些不需要的日誌,這樣才能保證系統不會被日誌檔案填滿。
  • Shell指令碼知識簡述Shell指令碼知識簡述

  • 檔案重新命名:當我們在一個資料夾中有大量的檔案的時候,如果我們想要對它們進行批次重新命名的話,那麼shell指令碼就可以幫你做這件事,你只需要一個指令碼,就可以批次修改檔案的命名,當然你可以批次修改圖片的尺寸。
  • 環境配置:當我們使用一個新環境的時候,我們往往需要進行配置我們的環境,我們需要安裝相對應的工具,需要配置環境變數,如果這些都是手動配置就太麻煩了,使用shell指令碼,我們既可以自動化部署這些配置資訊。
  • Shell指令碼知識簡述Shell指令碼知識簡述

    不同種類的shell
    (1) Bourne shell

    Bourne shell (sh) 由 AT&T 貝爾實驗室的 Steve Bourne 編寫,是最初的 UNIX shell。由於其緊湊性和速度,它是 shell 程式設計的首選 shell。Bourne shell 的缺點是它缺乏互動式使用的功能,例如呼叫以前的命令(歷史)的能力。Bourne shell 也缺乏內建的算術和邏輯表示式處理。

    (2) C Shell

    由加州大學伯克利分校的Bill Joy編寫的 UNIX 增強Shell,用於互動式使用的整合功能,例如別名和命令歷史記錄,內建算術和類似C 的表示式語法。

    (3) Bourne-Again Shell

    與 Bourne shell 相容的shell,結合了來自 Korn 和 C shell 的常用功能,具有命令呼叫和編輯自動對映的箭頭按鍵。

    (4) Korn Shell

    David Korn 在貝爾實驗室編寫出來,它是Bourne shell的超集,它比c shell更快,相容Bourne shell,它包含了算術函式,字串運算等功能。

    去哪裡學習練習

    linux和macos 都自帶了shell,你可以不需要安裝任何軟體就可以使用它們,對於windows使用者,現在有wsl,cgwin,mingw等很多環境可以供你學習,當然,你也可以使用docker來安裝一個精簡linux,它同樣包含shell,你也可以使用它來學習。

    Shell指令碼知識簡述Shell指令碼知識簡述

    還是那句話,學習程式設計的最佳方式就是不停地敲程式碼,你只有不停地練習,才能夠讓自己的技術變得更加精湛。學習shell也一樣,你也需要不停地編寫指令碼來練習,只有透過無數次練習,你才能說掌握它,否則你在你的簡歷上只能寫上了解額不是精通。

    總結

    實踐是檢驗真理的唯一標準,我們學習任何程式語言,學習任何技能知識,都是需要以實踐為前提。

    我們需要透過實踐編寫那些常用的指令碼,比如資料庫備份,資源報警,環境搭建等。透過這些實踐例子,我們才能夠更深刻地瞭解shell,才能在日常工作中將shell融會貫通。

    shell能做的可不僅僅是文中列舉的這些工作,它能做得還很多,你需要自己不斷地去發現,去認知它。

    原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2850379/,如需轉載,請註明出處,否則將追究法律責任。

相關文章