在操作系統領(lǐng)域,Windows可謂是筆記本和臺式機上的絕對霸主,iOS和安卓在手機上分庭抗禮,而對于Linux,很多朋友有所耳聞,但了解并不多。今天我將簡(jiǎn)單介紹一下為什么有志于進(jìn)一步深造的研究生都要學(xué)習一下Linux,Linux的現狀以及如何開(kāi)始入門(mén)學(xué)習Linux。
當前大數據和人工智能技術(shù)已經(jīng)從科幻電影走入了百姓生活。從學(xué)術(shù)研究的領(lǐng)域來(lái)看,不僅僅是傳統的理工科要使用“數據驅動(dòng)”的方法來(lái)的進(jìn)行研究,即使是那些我們認為是“文科”的學(xué)科也已經(jīng)與數據接軌。
且不說(shuō)信息學(xué)科中的計算機和電子工程兩大專(zhuān)業(yè)是計算機的重度用戶(hù),當代物理、化學(xué)和生物分別有計算物理、計算化學(xué)和生物信息學(xué)作為其重要分支,數學(xué)和統計學(xué)更是當前人工智能技術(shù)的基礎。
再來(lái)看看那些傳統意義上的文科。中文是傳統意義非?!拔目啤钡囊婚T(mén)學(xué)科,主要研究漢語(yǔ)言文學(xué)。隨著(zhù)人工智能技術(shù)的成熟,計算語(yǔ)言學(xué)正在興起,研究者開(kāi)始用計算機來(lái)分析和處理大規模的人類(lèi)語(yǔ)言和文本數據,人工智能界通常稱(chēng)之為自然語(yǔ)言處理技術(shù)。以中文領(lǐng)域最高學(xué)府北大中文系為例,中文系開(kāi)設了計算語(yǔ)言學(xué)相關(guān)的專(zhuān)業(yè)和課程,并正在與一些計算機背景的學(xué)術(shù)機構進(jìn)行合作,開(kāi)展了大量的研究。另外一個(gè)對計算有強烈需求的專(zhuān)業(yè)就是金融。很多人包括我在內,之前認為金融是個(gè)文科專(zhuān)業(yè),一般是西裝革履,在商界指點(diǎn)江山,其實(shí)金融領(lǐng)域有個(gè)重要的分支叫做量化金融,正在使用機器學(xué)習等技術(shù)進(jìn)行金融交易分析,這個(gè)方向對從業(yè)人員的數理背景和計算機基礎要求極高。還有就是經(jīng)濟學(xué),當前最流行的研究方法是計量經(jīng)濟學(xué),使用量化的方式來(lái)對經(jīng)濟數據進(jìn)行建模分析。中國人民大學(xué)新聞學(xué)院是國內頂級的新聞類(lèi)院系,這兩年也在引入計算機背景的青年教師,以建設計算傳播學(xué)和新聞大數據等相關(guān)研究方向。隨著(zhù)大數據和人工智能滲入到我們日常生活的方方面面,更多的學(xué)科包括經(jīng)濟學(xué)、社會(huì )學(xué)、法學(xué)、新聞學(xué)等學(xué)科都開(kāi)始依賴(lài)數據支撐和決策,這些學(xué)科最前沿的研究方法都離不開(kāi)數據和計算。
Linux無(wú)處不在
一旦數據量龐大,需要更復雜計算的時(shí)候,就離不開(kāi)Linux操作系統。幾乎所有帶有復雜計算功能的設備都在運行著(zhù)Linux或其變種,上到航空航天,下到手機平板,以及BAT、Google、亞馬遜在內的各大互聯(lián)網(wǎng)巨頭的服務(wù)器上都運行著(zhù)Linux。正在打破美國壟斷的華為鴻蒙操作系統,也是基于Linux做的開(kāi)發(fā)。為了迎合計算領(lǐng)域對Linux的龐大需求,微軟在Windows 10上提供了一個(gè)Windows Subsystem for Linux(WSL),用戶(hù)可以在Windows上運行Linux程序??梢?jiàn),Linux的需求是多么巨大。
對于想在相關(guān)領(lǐng)域進(jìn)一步深入下去的研究生,學(xué)習Linux未來(lái)收益很大,是一種必備技能。
Linux的歷史
Linux是一種類(lèi)Unix的開(kāi)源操作系統,由一位名為L(cháng)inus Torvalds的程序員在1991年發(fā)布。它的Logo是一個(gè)可愛(ài)的小企鵝。
Unix及其衍生變種
說(shuō)起操作系統,就不得不提Unix,它由美國AT&T公司貝爾實(shí)驗室在70年代發(fā)布,是現代操作系統的鼻祖。Unix是貝爾實(shí)驗室開(kāi)發(fā)的商用操作系統,后不斷演變,產(chǎn)生了很多子孫后代。當前我們享受的很多科技成果均來(lái)自貝爾實(shí)驗室,貝爾實(shí)驗室應該是人類(lèi)歷史上最牛的實(shí)驗室,可以說(shuō)改變了人類(lèi)的命運?;氐讲僮飨到y領(lǐng)域,現在我們使用的很多操作系統幾乎都與貝爾實(shí)驗室的Unix有血緣關(guān)系,包括iOS、安卓、macOS等,即使以開(kāi)發(fā)自家操作系統為主營(yíng)業(yè)務(wù)的微軟也曾經(jīng)一度購買(mǎi)了世界上最多的Unix版權。Unix最初更多應用在商用領(lǐng)域,當前商用領(lǐng)域使用最多的Unix有IBM AIX,包括工農中建在內的絕大多數大型銀行和國企還在使用著(zhù)AIX。
與付費的商業(yè)軟件不同,Linux設計之初就秉承著(zhù)開(kāi)源和免費的宗旨。
Linux內核起到軟件與硬件橋梁的作用 來(lái)源:wikipedia
Linux發(fā)行版
我們通常所說(shuō)的Linux其實(shí)是指操作系統內核。操作系統是一種管理計算及硬件的軟件集合,可以管理CPU、存儲、網(wǎng)絡(luò )、鍵盤(pán)、鼠標等,內核是操作系統中最核心的部分。所有的軟件都需要在操作系統內核的基礎上,再進(jìn)一步與底層的計算機硬件交互,比如Office、瀏覽器Chrome、MATLAB等應用軟件,提供網(wǎng)絡(luò )服務(wù)的HTTP服務(wù)器,進(jìn)行科學(xué)計算的Python等。
因為開(kāi)源和免費,誰(shuí)都可以參與進(jìn)來(lái),因此各組織和個(gè)人在開(kāi)源的Linux基礎上進(jìn)行了二次開(kāi)發(fā),形成了自己的Linux開(kāi)發(fā)版。不同Linux發(fā)行版主要區別在于一些預裝軟件以及軟件包管理方式。Linux開(kāi)發(fā)版可謂百花齊放,截止現在,可能有上百個(gè)不同類(lèi)型的Linux發(fā)行版。因為操作系統的設計初衷和目標用戶(hù)不同,軟件也有很大區別。比如一部分Linux發(fā)行版交互界面更友好,適合在個(gè)人電腦上安裝,以Ubuntu為代表;還有一部分Linux發(fā)行版更穩定,經(jīng)過(guò)嚴格測試,更適合在有商業(yè)用途的服務(wù)器上運行,以CentOS為代表。還有很多Linux操作系統運行在物聯(lián)網(wǎng)IoT設備上。
不同Linux發(fā)行版各有優(yōu)勢,但核心內容幾乎大同小異,比如目錄結構、基本命令、編譯和運行軟件的方式等。熟悉了一種操作系統,可以很快上手另外的操作系統。
Linux在計算領(lǐng)域的優(yōu)勢
那么,為什么要使用Linux,而不是在Windows上進(jìn)行研究和計算呢?
使用SSH遠程登錄到Linux服務(wù)器進(jìn)行計算
Linux發(fā)行版可能有上百種,從我的個(gè)人經(jīng)歷來(lái)看,在大數據和人工智能領(lǐng)域,使用最多的Linux主要有Ubuntu和CentOS。Ubuntu和CentOS也是各大云廠(chǎng)商主要支持的操作系統,阿里云和騰訊云等云廠(chǎng)商主要支持的Linux中前兩位就是Ubuntu和CentOS。
Ubuntu
Ubuntu(英文發(fā)音:烏班圖)是Canonical公司開(kāi)發(fā)的一款Linux發(fā)行版,它的各種軟件和包安裝起來(lái)很簡(jiǎn)單方便,是最好用的Linux之一,因此在個(gè)人電腦領(lǐng)域贏(yíng)得了大批用戶(hù)。Ubuntu這個(gè)詞語(yǔ)出自一種非洲哲學(xué),有“人性”之意。Ubuntu的軟件安裝管理器屬于Debian系。
Ubuntu 19.04
Ubuntu每半年發(fā)行一個(gè)新版本,分別叫xx.04和xx.10,其中xx為所在年份。另外,每?jì)赡陼?huì )發(fā)行一個(gè)長(cháng)期支持版(Long-Term Support ,LTS) ,長(cháng)期支持版更穩定,能獲得公司的長(cháng)期官方支持。
隨著(zhù)深度學(xué)習和人工智能時(shí)代的到來(lái),AI工程師開(kāi)始在Ubuntu上安裝進(jìn)行深度學(xué)習的實(shí)驗,Ubuntu再次風(fēng)靡世界,成為對深度學(xué)習支持最好的Linux操作系統。TensorFlow和PyTorch這些深度學(xué)習框架的官方docker鏡像都是基于Ubuntu的。
CentOS
CentOS,英文全稱(chēng)為Community Enterprise Operating System。從名字中的Enterprise看出,這是一款企業(yè)級操作系統。它是Red Hat公司開(kāi)發(fā)的免費版本。Red Hat公司是全球領(lǐng)先的云計算廠(chǎng)商,其商業(yè)級操作系統產(chǎn)品為Red Hat Enterprise Linux(RHEL),CentOS集成了RHEL的很多優(yōu)秀特性,并且免費。IBM為進(jìn)軍云計算市場(chǎng),已經(jīng)將Red Hat公司收購。CentOS的軟件管理器屬于RPM系。

CentOS 7
與Ubuntu不同,CentOS為企業(yè)服務(wù),因此它的設計初衷就是穩定。一切新鮮的事物都要經(jīng)過(guò)大量時(shí)間驗證后才能集成到CentOS中。因此,同樣一個(gè)功能,Ubuntu上已經(jīng)使用很新的版本,CentOS似乎還停留在幾年前。也正因為穩定,CentOS被各大公司的線(xiàn)上服務(wù)器所采用。
如何選擇
Ubuntu簡(jiǎn)單易用,適合進(jìn)行學(xué)習和實(shí)驗,并且對深度學(xué)習非常友好。CentOS為企業(yè)而生,性能穩定,是線(xiàn)上服務(wù)器的首選操作系統。
Linux現在雖然有了可視化界面,但是比起Windows,它的辦公和應用軟件還是相對比較匱乏,比如Office不如Windows好用,沒(méi)有微信電腦版,沒(méi)有一些專(zhuān)業(yè)領(lǐng)域的軟件如Photoshop等。而且使用Linux進(jìn)行科學(xué)計算,主要還是使用命令行與操作系統交互。命令行對于小白用戶(hù)來(lái)說(shuō),看起來(lái)非常極客,還沒(méi)開(kāi)始使用就讓人有種畏懼感。的確,Linux的命令行對于初學(xué)者來(lái)說(shuō)有一定的學(xué)習曲線(xiàn),但是也沒(méi)有那么難,只要耐下心來(lái)讀一本關(guān)于Linux的書(shū)或者學(xué)習一門(mén)在線(xiàn)課程,一個(gè)星期之內就可以完全掌握Linux命令行。
雖然命令行一開(kāi)始的學(xué)習成本陡峭,但它對編程的支持比Windows強大,掌握后可獲得非常大的收益。

macOS上的命令行
這里我推薦一本通俗易懂的Linux入門(mén)書(shū)籍:《鳥(niǎo)哥的Linux私房菜基礎學(xué)習篇》。鳥(niǎo)哥是一個(gè)臺灣人,環(huán)境工程出身,并不是計算機背景,也因為在做本專(zhuān)業(yè)的科學(xué)研究過(guò)程中必須用到Linux,所以開(kāi)始研究Linux的使用,十幾年前網(wǎng)絡(luò )學(xué)習資料并沒(méi)有現在這么豐富,他把Linux的學(xué)習筆記整理后,很多朋友非常喜歡,后來(lái)不斷整理和更新,現在已經(jīng)成中文Linux學(xué)習領(lǐng)域的標桿。大家可以在京東購買(mǎi)紙質(zhì)書(shū),也可以登錄鳥(niǎo)哥的網(wǎng)站,同時(shí)網(wǎng)絡(luò )上也有很多可下載的PDF版本。
鳥(niǎo)哥網(wǎng)站:http://cn.linux.vbird.org/
對于Windows的用戶(hù),可以使用下面的辦法來(lái)學(xué)習Linux:
我個(gè)人推薦第一和第二種方案。不過(guò)第二種方案是微軟新推出的功能,網(wǎng)上的教程還不多。
macOS
Linux的遠房親戚macOS也是Unix的一種變體,雖然從嚴格的技術(shù)角度上,macOS并不是Linux,但其背后的思想與Linux很像。macOS交互體驗極佳,軟件日漸豐富,對軟件開(kāi)發(fā)友好,是程序開(kāi)發(fā)者經(jīng)常選擇的操作系統。網(wǎng)絡(luò )上各類(lèi)編程類(lèi)課程對macOS兼容非常好,能在macOS上實(shí)現很多大數據和人工智能的編程實(shí)驗。我是從2011年開(kāi)始接觸mac的,一直使用到現在,可以說(shuō)mac已經(jīng)能夠完成99%的Windows功能。蘋(píng)果之前的做工和品質(zhì)非常不錯,我的上一個(gè)MacBook用了將近6年,依然可以應付絕大多數的使用場(chǎng)景,不會(huì )感到卡頓。但是蘋(píng)果的產(chǎn)品相比競品價(jià)格高很多,而且最近的蘋(píng)果品質(zhì)正在下降,出現了鍵盤(pán)失靈的丑聞,目前沒(méi)有好的解決方案,對于想購入MacBook的朋友可能還需要考慮考慮。
對于想進(jìn)一步深造的研究生,個(gè)人建議接觸一下Linux這個(gè)操作系統,并嘗試在Linux下編程。短期內有一定的學(xué)習曲線(xiàn),但長(cháng)期看來(lái)收益很大。Linux主要依賴(lài)命令行,Windows用戶(hù)可以使用虛擬機來(lái)安裝Linux,macOS可以使用系統自帶的命令行。
聯(lián)系客服