自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

每一個程序員都應(yīng)該學(xué)點(diǎn)Shell腳本知識

開發(fā) 后端
Shell是c語言編寫的程序,它在用戶和操作系統(tǒng)之間架起了一座橋梁,用戶可以通過這個橋梁訪問操作系統(tǒng)內(nèi)核服務(wù)。

什么是shell

shell是c語言編寫的程序,它在用戶和操作系統(tǒng)之間架起了一座橋梁,用戶可以通過這個橋梁訪問操作系統(tǒng)內(nèi)核服務(wù)。

它既是一種命令語言,同時也是一種程序設(shè)計語言,你可以通過它來編寫程序。

shell 都能做什么

(1) 監(jiān)控系統(tǒng)運(yùn)行:linux可以說是運(yùn)行最穩(wěn)定的操作系統(tǒng),這一方面得益于它完美的內(nèi)核,另一方面就是有很多shell腳本命令可以監(jiān)控系統(tǒng)的運(yùn)行,當(dāng)出現(xiàn)問題之前,提前報警。

(2) 啟動停止服務(wù):linux中的各種程序幾乎大部分都是通過服務(wù)來提供給用戶使用的,而shell腳本就可以控制服務(wù)的啟動和停止,控制服務(wù)的重啟等。

(3) 備份導(dǎo)入數(shù)據(jù)庫:數(shù)據(jù)庫的資料是非常重要的,我們應(yīng)該經(jīng)常備份它們,這樣當(dāng)我們的數(shù)據(jù)或者設(shè)備出現(xiàn)問題的時候,我們可以輕松地通過備份數(shù)據(jù)對數(shù)據(jù)庫進(jìn)行還原。而shell腳本就可以進(jìn)行數(shù)據(jù)庫的備份和導(dǎo)入導(dǎo)出。

(4) 日志的記錄分析:平時我們的應(yīng)用程序會寫入很多日志,操作系統(tǒng)本身也會寫入很多日志,這個時候我們需要shell腳本對日志進(jìn)行分析,定時清理那些不需要的日志,這樣才能保證系統(tǒng)不會被日志文件填滿。

(5) 文件重命名:當(dāng)我們在一個文件夾中有大量的文件的時候,如果我們想要對它們進(jìn)行批量重命名的話,那么shell腳本就可以幫你做這件事,你只需要一個腳本,就可以批量修改文件的命名,當(dāng)然你可以批量修改圖片的尺寸。

(6) 環(huán)境配置:當(dāng)我們使用一個新環(huán)境的時候,我們往往需要進(jìn)行配置我們的環(huán)境,我們需要安裝相對應(yīng)的工具,需要配置環(huán)境變量,如果這些都是手動配置就太麻煩了,使用shell腳本,我們既可以自動化部署這些配置信息。

(7) 自動化部署:對于運(yùn)營人員來說,經(jīng)常需要操作的就是在多臺機(jī)器上配置環(huán)境,這個時候如果手動去配置根本不現(xiàn)實(shí),這個時候shell腳本就可以幫助我們批量部署,自動化部署我們的集群。

不同種類的shell

(1) Bourne shell

Bourne shell (sh) 由 AT&T 貝爾實(shí)驗(yàn)室的 Steve Bourne 編寫,是最初的 UNIX shell。由于其緊湊性和速度,它是 shell 編程的首選 shell。Bourne shell 的缺點(diǎn)是它缺乏交互式使用的功能,例如調(diào)用以前的命令(歷史)的能力。Bourne shell 也缺乏內(nèi)置的算術(shù)和邏輯表達(dá)式處理。

(2) C Shell

由加州大學(xué)伯克利分校的Bill Joy編寫的 UNIX 增強(qiáng)Shell,用于交互式使用的集成功能,例如別名和命令歷史記錄,內(nèi)置算術(shù)和類似C 的表達(dá)式語法。

(3) Bourne-Again Shell

與 Bourne shell 兼容的shell,結(jié)合了來自 Korn 和 C shell 的常用功能,具有命令調(diào)用和編輯自動映射的箭頭按鍵。

(4) Korn Shell

David Korn 在貝爾實(shí)驗(yàn)室編寫出來,它是Bourne shell的超集,它比c shell更快,兼容Bourne shell,它包含了算術(shù)函數(shù),字符串運(yùn)算等功能。

去哪里學(xué)習(xí)練習(xí)

linux和macos 都自帶了shell,你可以不需要安裝任何軟件就可以使用它們,對于windows用戶,現(xiàn)在有wsl,cgwin,mingw等很多環(huán)境可以供你學(xué)習(xí),當(dāng)然,你也可以使用docker來安裝一個精簡linux,它同樣包含shell,你也可以使用它來學(xué)習(xí)。

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

總結(jié)

實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),我們學(xué)習(xí)任何編程語言,學(xué)習(xí)任何技能知識,都是需要以實(shí)踐為前提。

我們需要通過實(shí)踐編寫那些常用的腳本,比如數(shù)據(jù)庫備份,資源報警,環(huán)境搭建等。通過這些實(shí)踐例子,我們才能夠更深刻地了解shell,才能在日常工作中將shell融會貫通。

shell能做的可不僅僅是文中列舉的這些工作,它能做得還很多,你需要自己不斷地去發(fā)現(xiàn),去認(rèn)知它。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2024-04-10 12:36:41

硬件代碼

2013-03-20 17:58:41

虛擬內(nèi)存程序員

2012-02-28 10:52:13

2018-03-07 12:57:53

2022-09-11 15:20:05

程序員命令開發(fā)

2013-08-15 13:48:18

產(chǎn)品產(chǎn)品經(jīng)理

2012-10-11 10:32:48

Linux命令程序員

2015-07-02 11:20:17

程序員代碼

2017-09-07 15:12:42

程序員

2011-06-16 08:58:57

軟考程序員

2024-04-24 14:52:26

JavaScriptWeb 開發(fā)

2014-12-26 10:19:14

程序員

2016-09-28 22:44:40

HttpWeb

2015-04-16 10:26:51

程序員 Python Ruby

2016-06-03 15:18:45

程序員

2023-12-27 09:00:00

Python魔術(shù)方法開發(fā)

2014-08-04 10:43:47

程序員

2011-07-25 10:09:57

Python

2021-08-19 15:14:29

程序員電子表格Airtable

2021-02-20 10:37:43

代碼編碼開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號