什么是Linux對(duì)Linux你了解多少
Linux進(jìn)入大眾視野中的時(shí)間并不是很長(zhǎng),雖然如今參加Linux培訓(xùn)的人不斷的增加,但是相信還有不少的小伙伴對(duì)Linux不是很了解,扣丁學(xué)堂小編在網(wǎng)絡(luò)上整理了一篇文章分享給大家,下面我們來(lái)看一下什么是Linux,Linux能做什么,Linux的學(xué)習(xí)方法與學(xué)習(xí)中應(yīng)該注意的一些事。
就如同剛才說(shuō)的,很多同學(xué)以前可能連Linux是什么都不知道,對(duì)UNIX更是一無(wú)所知。所以我們從最基礎(chǔ)的講起,對(duì)于Linux及UNIX的歷史我們不做多談,直接進(jìn)入入門的學(xué)習(xí)。
Linux入門是很簡(jiǎn)單的,問(wèn)題是你是否有耐心,是否愛(ài)折騰,是否不排斥重裝一類的大修。沒(méi)有20次以上的Linux裝機(jī)經(jīng)驗(yàn)是積累不起來(lái)的,所以一定不要怕折騰。
由于大家之前都使用Windows,所以我也盡可能照顧這些“菜鳥(niǎo)”。我的推薦,如果你第一次接觸Linux,那么首先在虛擬機(jī)中嘗試它。虛擬機(jī)我推薦VirtualBox,我并不主張使用VM,原因是VM是閉源的,并且是收費(fèi)的,我不希望推動(dòng)盜版。當(dāng)然如果你的Money足夠多,可以嘗試VM,但我要說(shuō)的是即使是VM,不一定就一定好。付費(fèi)的軟件不一定好。
首先,VirtualBox很小巧,Windows平臺(tái)下安裝包在80MB左右,而VM動(dòng)輒600MB,雖然功能強(qiáng)大,但資源消耗也多,何況你的需求VirtualBox完全能夠滿足。所以,還是自己選。如何使用虛擬機(jī),是你的事,這個(gè)我不教你,因?yàn)楹芎?jiǎn)單,不會(huì)的話Google或Baidu都可以,英文好的可以直接看官方文檔。
現(xiàn)在介紹Linux發(fā)行版的知識(shí)。正如你所見(jiàn),Linux發(fā)行版并非Linux,Linux僅是指操作系統(tǒng)的內(nèi)核,我推薦的發(fā)行版如下:
UBUNTU適合純菜鳥(niǎo),追求穩(wěn)定的官方支持,對(duì)系統(tǒng)穩(wěn)定性要求較弱,喜歡最新應(yīng)用,相對(duì)來(lái)說(shuō)不太喜歡折騰的開(kāi)發(fā)者。
Debian,相對(duì)UBUNTU難很多的發(fā)行版,突出特點(diǎn)是穩(wěn)定與容易使用的包管理系統(tǒng),缺點(diǎn)是企業(yè)支持不足,為社區(qū)開(kāi)發(fā)驅(qū)動(dòng)。Arch,追逐時(shí)尚的開(kāi)發(fā)者的首選,優(yōu)點(diǎn)是包更新相當(dāng)快,無(wú)縫升級(jí),一次安裝基本可以一直運(yùn)作下去,沒(méi)有如UBUNTU那樣的版本概念,說(shuō)的專業(yè)點(diǎn)叫滾動(dòng)升級(jí),保持你的系統(tǒng)一定是最新的。缺點(diǎn)顯然易見(jiàn),不穩(wěn)定。同時(shí)安裝配置相對(duì)Debian再麻煩點(diǎn)。Gentoo,相對(duì)Arch再難點(diǎn),考驗(yàn)使用者的綜合水平,從系統(tǒng)安裝到微調(diào),內(nèi)核編譯都親歷親為,是高手及黑客顯示自己技術(shù)手段,按需配置符合自己要求的系統(tǒng)的首選。
Slackware與Gentoo類似。
CentOS,社區(qū)維護(hù)的RedHat的復(fù)刻版本,完全使用RedHat的源碼重新編譯生成,與RedHat的兼容性在理論上來(lái)說(shuō)是最好的。如果你專注于Linux服務(wù)器,如網(wǎng)絡(luò)管理,架站,那么CentOS是你的選擇。
LFS,終極黑客顯擺工具,完全從源代碼安裝,編譯系統(tǒng)。安裝前你得到的只有一份文檔,你要做的就是照文檔你的說(shuō)明,一步步,一條條命令,一個(gè)個(gè)軟件包的去構(gòu)建你的Linux,完全由你自己控制,想要什么就是什么。如果你做出了LFS,證明你的Linux功底已經(jīng)相當(dāng)不錯(cuò),如果你能拿LFS文檔活學(xué)活用,再將Linux從源代碼開(kāi)始移植到嵌入式系統(tǒng),我敢說(shuō)中國(guó)的企業(yè)你可以混的很好。
你得挑一個(gè)適合你的系統(tǒng),然后在虛擬機(jī)安裝它,開(kāi)始使用它。如果你想快速學(xué)會(huì)Linux,我有一個(gè)建議就是忘記圖形界面,不要想圖形界面能不能提供你問(wèn)題的答案,而是滿世界的去找,去問(wèn),如何用命令行解決你的問(wèn)題。在這個(gè)過(guò)程中,你最好能將Linux的命令掌握的不錯(cuò),起碼常用的命令得知道,同時(shí)建立了自己的知識(shí)庫(kù),里面是你積累的各項(xiàng)知識(shí)。
再下個(gè)階段,你需要學(xué)習(xí)的是Linux平臺(tái)的C/C++開(kāi)發(fā),同時(shí)還有Bash腳本編程,如果你對(duì)Java興趣很深還有Java。同樣,建議你拋棄掉圖形界面的IDE,從VIM開(kāi)始,為什么是VIM,而不是Emacs,我無(wú)意挑起編輯器大戰(zhàn),但我覺(jué)得VIM適合初學(xué)者,適合手比較笨,腦袋比較慢的開(kāi)發(fā)者。Emacs的鍵位太多,太復(fù)雜,我很畏懼。然后是GCC,Make,Eclipse(Java,C++或者)。雖然將C++列在了Eclipse中,但我并不推薦用IDE開(kāi)發(fā)C++,因?yàn)檫@不是Linux的文化,容易讓你忽略一些你應(yīng)該注意的問(wèn)題。IDE讓你變懶,懶得跟豬一樣。如果你對(duì)程序調(diào)試,測(cè)試工作很感興趣,GDB也得學(xué)的很好,如果不是GDB也是必修課。這是開(kāi)發(fā)的第一步,注意我并沒(méi)有提過(guò)一句Linux系統(tǒng)API的內(nèi)容,這個(gè)階段也不要關(guān)心這個(gè)。你要做的就是積累經(jīng)驗(yàn),在Linux平臺(tái)的開(kāi)發(fā)經(jīng)驗(yàn)。
如果你這個(gè)階段過(guò)不了就不必往下做了,這是底線,最基礎(chǔ)的基礎(chǔ),否則離開(kāi),不要霍霍Linux開(kāi)發(fā)。不專業(yè)的Linux開(kāi)發(fā)者作出的程序是與Linux文化或UNIX文化相背的,程序是走不遠(yuǎn)的,不可能像Bash,VIM這些神品一樣。所以做不好干脆離開(kāi)。
接下來(lái)進(jìn)入Linux系統(tǒng)編程,不二選擇,APUE,UNIX環(huán)境高級(jí)編程,一遍一遍的看,看10遍都嫌少,如果你可以在大學(xué)將這本書(shū)翻爛,里面的內(nèi)容都實(shí)踐過(guò),有作品,你口頭表達(dá)能力夠強(qiáng),你可以在面試時(shí)說(shuō)服所有的考官。(可能有點(diǎn)夸張,但APUE絕對(duì)是圣經(jīng)一般的讀物,即使是Windows程序員也從其中汲取養(yǎng)分,Google創(chuàng)始人的案頭書(shū)籍,扎爾伯克的床頭讀物。)
這本書(shū)看完后你會(huì)對(duì)Linux系統(tǒng)編程有相當(dāng)?shù)牧私?,知道Linux與Windows平臺(tái)間開(kāi)發(fā)的差異在哪?它們的優(yōu)缺點(diǎn)在哪?
總結(jié)如下:
做Windows平臺(tái)開(kāi)發(fā),很苦,微軟的系統(tǒng)API總在擴(kuò)容,想使用最新潮,最高效的功能,最適合當(dāng)前流行系統(tǒng)的功能你必須時(shí)刻學(xué)習(xí)。
Linux不是,Linux系統(tǒng)的核心API就100來(lái)個(gè),記憶力好完全可以背下來(lái)。而且經(jīng)久不變,為什么不變,因?yàn)橐琔NIX兼容,符合POSIX標(biāo)準(zhǔn)。所以Linux平臺(tái)的開(kāi)發(fā)大多是專注于底層的或服務(wù)器編程。這是其優(yōu)點(diǎn),當(dāng)然圖形是Linux的軟肋,但我站在一個(gè)開(kāi)發(fā)者的角度,我無(wú)所謂,因?yàn)槊钚形乙部梢赃m應(yīng),如果有更好的圖形界面我就當(dāng)作恩賜吧。
另外,Windows閉源,系統(tǒng)做了什么你更本不知道,永遠(yuǎn)被微軟牽著鼻子跑,想想如果微軟說(shuō)Win8不支持QQ,那騰訊不得哭死。而Linux完全開(kāi)源,你不喜歡,可以自己改,只要你技術(shù)夠。另外,Windows雖然使用的人多,但使用場(chǎng)合單一,專注與桌面。而Linux在各個(gè)方面都有發(fā)展,尤其在云計(jì)算,服務(wù)器軟件,嵌入式領(lǐng)域,企業(yè)級(jí)應(yīng)用上有廣大前景,而且兼容性一流,由于支持POSIX可以無(wú)縫的運(yùn)行在UNIX系統(tǒng)之上,不管是蘋(píng)果的Mac還是IBM的AS400系列,都是完全支持的。
另外,Linux的開(kāi)發(fā)環(huán)境支持也絕對(duì)是一流的,不管是C/C++,Java,Bash,Python,PHP,Javascript,。。。。。。就連C#也支持。而微軟除VisualStdio套件以外,都不怎么友好,不是嗎?
如果你看完APUE的感觸有很多,希望驗(yàn)證你的某些想法或經(jīng)驗(yàn),推薦UNIX程序設(shè)計(jì)藝術(shù),世界頂級(jí)黑客將同你分享他的看法。
現(xiàn)在是時(shí)候做分流了。大體上我分為四個(gè)方向:網(wǎng)絡(luò),圖形,嵌入式,設(shè)備驅(qū)動(dòng)。
如果選擇網(wǎng)絡(luò),再細(xì)分,我對(duì)其他的不是他熟悉,只說(shuō)服務(wù)器軟件編寫(xiě)及高性能的并發(fā)程序編寫(xiě)吧。相對(duì)來(lái)說(shuō)這是網(wǎng)絡(luò)編程中技術(shù)含量最高的,也是底層的。需要很多的經(jīng)驗(yàn),看很多的書(shū),做很多的項(xiàng)目。
由此可見(jiàn)學(xué)習(xí)Linux并不是一件簡(jiǎn)簡(jiǎn)單單的事情,想要學(xué)好Linux就需要找專業(yè)的Linux培訓(xùn)機(jī)構(gòu)學(xué)習(xí),扣丁學(xué)堂Linux培訓(xùn)不僅有專業(yè)的的老師和與時(shí)俱進(jìn)的Linux課程體系,還有大量的Linux視頻教程供學(xué)員觀看學(xué)習(xí),是你學(xué)習(xí)Linux的不二之選,小伙伴快快行動(dòng)吧。扣丁學(xué)堂Linux技術(shù)交流群:659974587。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼