【shell】什麼是shell?

希望各位不要白piao,點個贊或者刷個評論再走,還有【禁止轉載】
這篇文章就是爲了介紹shell的歷史,如果真心想對shell有實戰上的理解,請看我其他的【shell】開頭的文章(我手頭的筆記比較多,只能慢慢發,如果真的有某一方面特別的需求,可以在評論中回覆,如果我有相關的資料我會優先發出來)

什麼是運維?
術語名詞解釋
Linux的發行版本都有什麼
shell的種類

說到shell,大家第一反應應該是個腳本語言,其實我個人不太認同。什麼是腳本?說到底就是一個程序,他可以實現功能,java也可以寫腳本,只不過是它必須要編譯相對來說很浪費時間。畢竟術業有專攻,只是說用shell這種語言來開發一些比較小的程序是非常方便的。其實這纔是我認爲的腳本語言的本意

什麼是運維?(工作的可以忽略這個)

說到運維它的工作對於小白來說你可以認爲他就是玩shell的,當然也有別的語言,畢竟語言就是個工具。它的職能很多,比如上線切流量,機器的維護,數據備份等等等,每個公司對於每個崗位的定義不同,但是大體上都是一樣的。接下來我們來具體的說什麼是運維:
在這裏插入圖片描述
這個圖我認爲是很全的了,這也是我最早開始學shell,啥都不懂的時候不知道從哪找到的圖。其實當時我很多都看不懂,當然現在也是瞭解各大概,不過這些在大廠都是有的,隨着你工作你會慢慢接觸到這些東西,不管你是測試還是開發都會和他們打交道,所以這裏就做一個瞭解就好

術語名詞解釋

以下的內容可能會比較長(我只是節省了你們上面看不懂去查的時間,畢竟工作的不會來看這個,小白看不懂還得到處瞎查),說實話我也不願意看,因爲說他有用吧它還真沒啥用,說他沒用吧他還真的有用。你說你辦公的時候人家說句IDC你還得想想是什麼東西,是不是很尷尬?

  • IDC–(Internet Data Center)互聯網數據中心,主要服務包括整機租用、服務器託管、機櫃租用、機房租用、專線接入和網絡管理服務等。廣義上的IDC業務,實際上就是數據中心所提供的一切服務。客戶租用數據中心的服務器和帶寬,並利用數據中心的技術力量,來實現自己對軟、硬件的要求,搭建自己的互聯網平臺,享用數據中心所提供的一系列服務。
  • ISP–(Internet Service Provider)互聯網服務提供商,即向廣大用戶綜合提供互聯網接入業務、信息業務、和增值業務的電信運營商。
  • ICP–(Internet Content Provider)互聯網內容提供商,向廣大用戶綜合提供互聯網信息業務和增值業務的電信運營商。 根據中華人民共和國國務院令第292號《互聯網信息服務管理辦法》規定,國家對提供互聯網信息服務的ICP實行許可證制度。從而,ICP證成爲網站經營的許可證,經營性網站必須辦理ICP證,否則就屬於非法經營。因此,辦理ICP證是企業網站合法經營的需要.
  • CDN–(Content Delivery Network)內容分發網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、內容分發、調度等功能模塊,使用戶就近獲取所需內容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有內容存儲和分發技術。 CDN的基本原理是廣泛採用各種緩存服務器,將這些緩存服務器分佈到用戶訪問相對集中的地區或網絡中,在用戶訪問網站時,利用全局負載技術將用戶的訪問指向距離最近的工作正常的緩存服務器上,由緩存服務器直接響應用戶請求。
  • LVS–(Linux Virtual Server)的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集羣系統。LVS集羣採用IP負載均衡技術和基於內容請求分發技術。調度器具有很好的吞吐率,將請求均衡地轉移到不同的服務器上執行,且調度器自動屏蔽掉服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務器。整個服務器集羣的結構對客戶是透明的,而且無需修改客戶端和服務器端的程序。爲此,在設計時需要考慮系統的透明性、可伸縮性、高可用性和易管理性。
  • CGI–(Common Gateway Interface)通用網關接口。CGI規範允許Web服務器執行外部程序,並將它們的輸出發送給Web瀏覽器,CGI將Web的一組簡單的靜態超媒體文檔變成一個完整的新的交互式媒體
  • GSLB–(Global Server Load Balance,全局負載均衡)作爲 CDN 系統架構中最核心的部分,負責流量調度.基於DNS的GSLB 絕大部分使用負載均衡技術的應用都通過域名來訪問目的主機,在用戶發出任何應用連接請求時,首先必須通過DNS請求獲得服務器的IP地址,基於DNS的GSLB正是在返回DNS解析結果的過程中進行智能決策,給用戶返回一個最佳的服務IP。用戶應用流程與沒有GSLB時未發生任何變化。這也是市場上主流的GSLB技術。
  • BOSS–(Business & Operation Support System,BOSS)是業務運營支撐系統。通常所說的BOSS分爲四個部分:計費及結算系統、營業與賬務系統、客戶服務系統和決策支持系統。BOSS從業務層面來看就是一個框架,來承載業務系統、CRM系統、計費系統。實現統一框架中的縱向、橫向管理。該系統最早由電信部門的計費系統發展演變而來,基本功能包括客戶資料管理、產品管理、用戶訂購管理、計費、出帳、結算等,負責登記客戶資料、管理用戶訂購服務的提供、實時的根據不同產品、套餐的資費標準計算業務(手機、固定電話用戶通話時、點播收視、寬帶流量與時間等)的消費金額,準實時及定期計算用戶帳單,實時或定期結算用戶各種消費費用。

Linux的發行版

Linux當然也不一樣,就像你買的電腦顯卡他也分很多廠商,大致你們能見到的就是以下這些:

  • RedHat: Fedora, CentOS, Mandriva
  • SuSE: SLES, OpenSuSE
  • Debian: Ubuntu
  • BackTrace/kali linux (黑客)
    工作上的大部分都是centos,練習培訓班的大多都是ubuntu(可視化界面做的不錯),其他的說實話我沒用過,也不太care,畢竟大家只是在這個環境上部署代碼,也不是要研究內核怎麼寫的。

Shell的種類

shell也是有很多種的,大概就底下這麼多,實際上用到的哈就不是bash shell跟zsh,至少在我的從業經驗裏面沒有遇到過別的。我現在在用的mac系統也是安裝過zsh的,至於zsh的安裝這裏我不贅述,我手裏確實有傻瓜式的安裝教程,不過確實需要時間整理,我慢慢會發出來的,不要捉急。
1.sh(Bourne Shell):由Steve Bourne開發,各種UNIX系統都配有sh。
2.csh(C Shell):由Bill Joy開發,隨BSD UNIX發佈,它的流程控制語句很像C語言,支持很多Bourne Shell所不支持的功能:作業控制,命令歷史,命令行編輯。
3.ksh(Korn Shell):由David Korn開發,向後兼容sh的功能,並且添加了csh引入的新功能,是目前很多UNIX系統標準配置的Shell,在這些系統上/bin/sh往往是指向/bin/ksh的符號鏈接。
4.tcsh(TENEX C Shell):是csh的增強版本,引入了命令補全等功能,在FreeBSD、Mac OS X等系統上替代了csh。
5.bash(Bourne Again Shell):由GNU開發的Shell,主要目標是與POSIX標準保持一致,同時兼顧對sh的兼容,bash從csh和ksh借鑑了很多功能,是各種Linux發行版標準配置的Shell,在Linux系統上/bin/sh往往是指向/bin/bash的符號鏈接。雖然如此,bash和sh還是有很多不同的,一方面,bash擴展了一些命令和參數,另一方面,bash並不完全和sh兼容,有些行爲並不一致,所以bash需要模擬sh的行爲:當我們通過sh這個程序名啓動bash時,bash可以假裝自己是sh,不認擴展的命令,並且行爲與sh保持一致。
6.zsh 的命令補全功能非常強大,可以補齊路徑,補齊命令,補齊參數等。
vim /etc/passwd
其中最後一列顯示了用戶對應的shell類型
root❌0:0:root:/root:/bin/bash
nobody❌65534:65534:nobody:/nonexistent:/bin/sh
syslog❌101:103::/home/syslog:/bin/false
itcast❌1000:1000:itcast,:/home/itcast:/bin/bash
ftp❌115:125:ftp daemon,:/srv/ftp:/bin/false

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章