網(wǎng)站開發(fā)流行精準客戶數(shù)據(jù)采集軟件
編程基礎(chǔ) - 初識Linux
返回序言及專欄目錄
文章目錄
- 編程基礎(chǔ) - 初識Linux
- 前言
- 一、Linux發(fā)展簡介
- 二、現(xiàn)代Linux
- 三、Linux系統(tǒng)各發(fā)行版
- 小結(jié)
前言
為什么要學(xué)習(xí)Linux呢?我這Windows用得好好的,簡單易用傻瓜式、用的人還超多!但是我要告訴你的是,你用的Linux類(注意這個類字,不要抬杠)操作系統(tǒng)也不少,甚至很可能比Windows還多!不信你拿出手機看看,安卓、華為鴻蒙是正宗的Linux洐生產(chǎn)品,蘋果倒是說源于Unix,但實際上還是同一個爺爺?shù)臇|西。路由器幾乎全是Linux系統(tǒng)的,所謂智能軟路由系統(tǒng)本身就是較完整的Linux。監(jiān)控攝像頭、某些監(jiān)控主機甚至能跑shell代碼。
文中部分圖片來源于網(wǎng)絡(luò)
一、Linux發(fā)展簡介
Linux是一個開源的操作系統(tǒng)內(nèi)核。它的名字來源于最初主要作者(Linus Torvalds),由作者的名字與unix(一種操作系統(tǒng))各取一半合成,之所以有unix的一半名字,是因為Linux模仿了Unix,這不是指代碼的抄襲,是指功能操作上模仿,而且Unix是AT&T的東西,普通人也不敢抄它。目前Linus也還是內(nèi)核代碼的主要維護人、項目協(xié)調(diào)者、首席構(gòu)架師。內(nèi)核只提供了一些必不可少的功能,比如文件系統(tǒng)、磁盤控制、多任務(wù)管理等核心能力。
很多人映像中的Linux是一個黑乎乎的界面,操作要靠打字完成。這種界面其實就是shell,shell的英文意思是殼,也就是在Linux內(nèi)核外面套了一層殼與內(nèi)核交互,它是用戶與內(nèi)核的橋梁。它和Windows的前身,上世紀1995年之前的Dos(磁盤操作系統(tǒng))一樣的操作方式。簡直是違反了自然規(guī)律,不思進取的典型。但是現(xiàn)代windows其實也保留了類似DOS的工具cmd(命令行Command shell)。
上圖為:2020年的Linux(左) 與 1993年的Dos(右)
那么為什么會給人們這種奇怪的映像呢?無非是使用人群關(guān)注的重點不一樣,大多windows用戶可能都不知道內(nèi)置的cmd是干什么用的,黑乎乎的好難看… 反正這玩意藏得深,咱不理它。而Linux用戶不關(guān)心X Window(圖形接口協(xié)議),這花里胡哨的玩意除了吃資源一無是處…咱這2G大內(nèi)存干點什么不香,要拿去搞這花花綠綠的玩意干嘛!你沒看錯作者也沒說錯,對Linux來說,2G的內(nèi)存,在2024年它干啥都夠了!windows越做越好看、花哨,那都是資源堆出來的。
Linux的自由度很高,有人喜歡把桌面搞成這樣,12年這樣的桌面比windows10不差吧
圖為同時代的LVWM(左)與windows3.2(右)
早期的Linux的確和前古的Dos一樣的操作環(huán)境,Windows也確實比Linux更早搞出視窗桌面來。從win3.2發(fā)布后來講,當(dāng)時Linux也有了類似的程序管理器。
Windows95版本長這樣
但是真正意義的視窗多媒體系統(tǒng)Windows95搞出來后,Linux并沒有馬上跟進,只是將任務(wù)管理器更完善了些,本質(zhì)還是類似win3.2。直到Windows98發(fā)布,Linux才有了真正意義的視窗環(huán)境KDE1.0,但是直到今天,圖形界面也只是一個軟件包,與Linux內(nèi)核無關(guān)。
早年的LINUX桌面長這樣(GNOME)
又因為QT授權(quán)許可的問題,99年GNOME 1.0發(fā)布,這是Linux的另一個X Window界面。對的,你沒看錯!Linux不僅有現(xiàn)代視窗環(huán)境,還有兩套視窗環(huán)境。現(xiàn)在也是一直并存的,當(dāng)然各個發(fā)行版會選擇其中一個來安裝,也可能不安裝X Window環(huán)境,那就是很多人映像中黑乎乎界面的由來。
上圖為現(xiàn)代KDE桌面
其實Linux的自由度是極高的,你可以把它改得和Windows看起來一模一樣。國內(nèi)的Deepin系統(tǒng)甚至連操作都和windows很像。也有人把它改得和Mac OSX一樣:
上圖為假裝是Mac OSX的Linux,當(dāng)然它不是發(fā)行版,是個人改造的
真要說界面做得華麗,Linux中公認的是openSUSE,Windows有的動畫效果它一個不少,甚至更漂亮。不過筆者只見過沒用過,不多說它。
二、現(xiàn)代Linux
筆者三種系統(tǒng)(windows、OSX、Linux)都用過較長時間,在作者看來Windows和OSX是在不同商業(yè)模式上的成功,Linux是開源全球協(xié)作的成功(當(dāng)年免費操作系統(tǒng)領(lǐng)域,Linux也有強勁對手的)。各有優(yōu)缺點,也各自有了很大的用戶基數(shù)。
有人說Linux性能遠高于Windows,這個筆者是不認可的,給Linux套上一個圖形界面,你再使勁美化一下,它甚至可能不如Windows,差距應(yīng)該相對很小。讓人有這種映像正是因為Linux經(jīng)常不用圖形界面,特別是服務(wù)器領(lǐng)域,因為費資源、還浪費網(wǎng)絡(luò)帶寬,又是一個月都難得去看幾眼的,要圖形界面干嘛呢,Linux的圖形界面從根本上講就是一個軟件包,愛裝不裝的。給Windows去掉圖形界面(雖然不可能),它也能跑得飛起。
那么為學(xué)Linux呢,也正是因為它在服務(wù)器領(lǐng)域的應(yīng)用,后端應(yīng)用一般都是建立在Linux服務(wù)器上的。具體是Linux系統(tǒng)的服務(wù)器多還是windows系統(tǒng)的多,這個問題一直都有爭議,也沒有太過讓人信服的數(shù)據(jù),但看歷年世界排名靠前的大型服務(wù)器,基本上是用的Linux系統(tǒng),Unix也經(jīng)常出現(xiàn),卻幾乎看不到windows的影子。
常見的監(jiān)控主機,其實就是提供了存儲服務(wù)的一臺Linux服務(wù)器。路由器其實也是一個Linux服務(wù)器,我們平常所登陸的網(wǎng)頁界面就是一個典型的服務(wù),openwrt是uhttpd服務(wù)、梅林是httpd。對應(yīng)于我們平常上網(wǎng)時在后端提供服務(wù)阿帕奇Web服務(wù)器(apache),或Nginx服務(wù)器。無非路由器上的功能要簡單點,性能要差一些。不是很多人給路由開了smb、nfs這些存儲服務(wù)嗎,對于智能路由來說,拔號、發(fā)包、轉(zhuǎn)發(fā)什么的正宗路由功能是順帶的…所以很多人感覺乍我這智能路由跑不過100塊的TP呢?還真是很有可能的哦~
現(xiàn)代中高端路由的Linux相對比較完整,操作它和操作Linux服務(wù)器那是幾乎沒有區(qū)別。服務(wù)器做的事,路由基本上全都能干。特別是openwrt,現(xiàn)在發(fā)展的趨勢是專注于X86-64的硬件,那么它和服務(wù)器已經(jīng)沒有區(qū)別了。
至于路由系統(tǒng)為什么才百把M這么小,而桌面Linux系統(tǒng)經(jīng)常也是上G的,那全是因為路由器就這點硬件,而且是固定的。用戶基本上不可能去增改。而桌面系統(tǒng)要適配幾乎無盡的硬件,那全是驅(qū)動程序堆起來的體積。
相較于windows,linux具有以下幾點優(yōu)勢,也可能是劣勢:
- 穩(wěn)定高效:穩(wěn)定是無可爭議的,當(dāng)年Linux用戶就喜歡嘲笑Windows用戶,今天你藍屏幾回了?對,不是問有沒有藍屏!服務(wù)器大多是沒有重啟開關(guān)的,windows系統(tǒng)的電腦要是沒有重啟開關(guān),售后部門能把設(shè)計部門堵在辦公室打殘。雖然近些年的不少品牌機也把重啟開關(guān)和開機鍵合一了,側(cè)面說明windows10以后穩(wěn)定性大有提升。
- 幾乎免費:個人用戶用的都是免費發(fā)行版本,由各大Linux社區(qū)打包的。包括軟件也絕大多數(shù)是免費的,嗯~ 其實Linux上是有收費軟件的,大多是行業(yè)應(yīng)用軟件。至于效率之爭,作者前面已經(jīng)作了解釋。
- 漏洞少且快速修補:Windows經(jīng)常有新聞?wù)f,xx版本停止服務(wù),逼你升級新系統(tǒng)。Linux不存在的,梅林系統(tǒng)的路由器還在用2.6的內(nèi)核呢。主要因為開源,有漏洞早被全世界的高手發(fā)現(xiàn)修補了。就算新發(fā)現(xiàn)了漏洞,咱編譯的時候改一改就是了。
- 多任務(wù)多用戶:windows說我也會、我也行。Linux說你不行,你那是假裝的。win95之后的操作系統(tǒng)都是多任務(wù)的,因為cpu跑得快了,把1秒鐘分成10的-6次方為單位來用,用戶感覺不到多任務(wù)的延時而已。Linux當(dāng)然也是一個樣,但windows確實不是多用戶的,同一時間只能有一個用戶登陸系統(tǒng),服務(wù)器版也是。Linux是可以有多人同時登陸各干各的事的,一個用戶開兩個shell也是可以的。
- 更加安全的用戶與文件權(quán)限策略:文件權(quán)限管理方面,雖然Linux增加了復(fù)雜度,好處就是增加了安全性。
- 適合小內(nèi)核程序的嵌入系統(tǒng):大小由心、豐儉由人,可以小到幾M,可以大到幾G。路由就是典型的例子,有些固件只有幾M,有些固件有幾百M。而且只要你有足夠的空間,幾M的固件,你也能裝上幾百M的工具。
三、Linux系統(tǒng)各發(fā)行版
細分的話這個版本就沒人數(shù)得清了,主要有六大門派,找張圖來說明這些門派之間的關(guān)系
常見的除開AOSP安卓以外,國人用得最多的就是紅帽系和Debian系了。紅帽本身是收費的,但它洐生的CentOS和Fedora是免費的,特別是CentOS是各大虛擬主機的第一選擇。而Debian因為有國產(chǎn)的深度系統(tǒng)(Deepin),和國內(nèi)用戶非常多的Ubuntu系統(tǒng)的原因而廣為人知。
這兩派的軟件安裝包分別為rpm
和deb
。因為Linux的軟件都是有倉庫的,你直接輸入命令就可以自動下載安裝,絕對沒有像windows上那樣第三方來打個包給你加點廣告的事!相應(yīng)的就有了不同的軟件包管理工具,比如ubuntu的apt
命令,centOS的yum
。當(dāng)然你有個自己寫的或別人寫的軟件已經(jīng)在硬盤上了,也可以從本地磁盤安裝的。
那么路由器的固件又是哪派的呢?以上六大派都不是,它屬于嵌入式Linux領(lǐng)域,這個分支也極其復(fù)雜,作者也不可能全知全能。這里面有兩個比較重要的開源項目:
- 一個是讓arm跑上Linux的開源項目,叫ucLinux,uc是微控制器的意思,已經(jīng)合并進了Linux2.6版本核心,所以這么多arm的路由器都和這個有關(guān)。
- 一個是LinkSYS(已被思科收購,后來又賣了),當(dāng)年這公司搞出了一個WRT54G的路由器,后來開源了,這中間有很多故事的。
可以說目前所有的智能路由器找根子,都和這個LinkSYS的WRT54G有關(guān)。當(dāng)年有人發(fā)現(xiàn)這個路由器竟然使用了GPL(通用公共授權(quán)許可)開源的Linux代碼。這事要放在國內(nèi)抄代碼叫事嗎?但在國外那可是戳中了自由軟件的根子。最后思科沒辦法,斗不過自由的人民群眾啊~ 也把這個路由的源代碼開源了。GPL授權(quán)具有傳染性,隨便你用,但只要你用了,從法律上講你就必須也開源。
包括AsusWRT、openwrt、Tomato、DD-wrt、高恪等等都是這里來的,梅林和padavan又是從Asus-wrt來的。不是說全世界么多編程高手就靠LinkSYS的這路由來改改才能搞出智能路由來,而是LinkSYS在業(yè)界的地位夠高、影響力極大,自然有更多的高手去研究。
小結(jié)
Linux啥都分派系,說不定啥時候這個門派散伙了,比如著名發(fā)行版Fedora早就說散伙不干了,路由固件Tomato也不玩了,但是又不知道啥時候冒出來個版本,比如Ubuntu就是南非的一個名人找人折騰的。國內(nèi)的深度Linux其實和當(dāng)年著名的深度windows打包團隊有關(guān)系,突然就折騰起了Linux,還干得有聲有色。嗯~國內(nèi)民間干Linux事業(yè),他們搞得最出色了,至于官方半官方的版本那就更多了。實際上還有很多例子,比如前面說的兩個桌面圖形系統(tǒng)。Linux就是這樣內(nèi)耗嚴重,怪不得干不過windows~。~
返回專欄目錄 <<<