linux開(kāi)發(fā)-摘自知乎

作者:Kerr Wang

鏈接:https://www.zhihu.com/question/20730157/answer/82034823

來(lái)源:知乎

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。


首先,要學(xué)Linux編程综苔,你得會(huì)用Linux,也就是得在命令行環(huán)境下生存下來(lái)。什么叫生存下來(lái)呢竖慧?就是我現(xiàn)在給你一臺(tái)主機(jī),鍵盤(pán)逆屡,顯示器啥的圾旨,然后給你一個(gè)服務(wù)器版的Linux系統(tǒng)的光盤(pán)或者其他什么安裝盤(pán),你去把這臺(tái)主機(jī)用起來(lái)魏蔗。什么叫用起來(lái)呢砍的?你平常用Windows電腦干啥,你現(xiàn)在還用這臺(tái)電腦干啥莺治。新建文件啊廓鞠,查看文件,編輯文件谣旁,保存文件床佳,復(fù)制,移動(dòng)榄审,刪除砌们,打包,解壓,聯(lián)網(wǎng)浪感,下載個(gè)什么東西啊等等基本操作你得會(huì)昔头。還有軟件怎么安裝,不僅要熟悉apt-get和yum影兽,還有給你源碼的軟件怎么安裝你得會(huì)揭斧,另外要熟悉Linux下的文件系統(tǒng),每個(gè)目錄是干啥的峻堰,目錄下的文件是干嘛的讹开,插入一個(gè)U盤(pán),如何掛載這個(gè)U盤(pán)捐名,操作U盤(pán)下的文件你得會(huì)啊萧吠。這個(gè)看一本書(shū)就行了,《鳥(niǎo)哥的Linux私房菜-基礎(chǔ)篇》桐筏,記得是基礎(chǔ)篇纸型,記得安裝Linux系統(tǒng)自己操作一遍,還有一本是服務(wù)器篇梅忌,你既然是要學(xué)Linux編程開(kāi)發(fā)狰腌,那就不用看服務(wù)器架設(shè)篇了。做完這一步牧氮,你可以開(kāi)發(fā)了琼腔。

Linux下開(kāi)發(fā),兩種基本語(yǔ)言踱葛,C和C++咯丹莲,至于其他人要說(shuō)Python,Java尸诽,Ruby啥的不討論甥材,因?yàn)榫陀懻揕inux下的開(kāi)發(fā),什么是Linux開(kāi)發(fā)呢性含?就是利用Linux的API進(jìn)行開(kāi)發(fā)咯洲赵,首先你得會(huì)C語(yǔ)言或者C++語(yǔ)言啊,這個(gè)去看丹尼斯的《C程序設(shè)計(jì)語(yǔ)言》商蕴,注意是丹尼斯的叠萍,C++的就去看《Essential C++》或者《C++ Primer》,然后在Linux下的程序開(kāi)發(fā)绪商,Linux的API是遵循POSIX標(biāo)準(zhǔn)的苛谷,自行谷歌什么叫POSIX。Linux下程序開(kāi)發(fā)幾大塊格郁,文件操作腹殿,這個(gè)很重要独悴,你要知道Linux下的一個(gè)思想叫一切皆文件,可見(jiàn)文件讀寫(xiě)多重要了赫蛇。I/O模型,五大I/O模型雾叭,阻塞悟耘,非阻塞,復(fù)用织狐,信號(hào)驅(qū)動(dòng)和異步I/O暂幼,環(huán)環(huán)相扣絲絲相連,概念和操作都要仔細(xì)琢磨移迫,最重要的當(dāng)屬?gòu)?fù)用旺嬉,就是select,poll和epoll厨埋,面試筆試就問(wèn)這個(gè)東西邪媳,要知道他們的適用范圍和優(yōu)缺點(diǎn)。進(jìn)程和線程荡陷,包括進(jìn)程和線程的概念和區(qū)別雨效,進(jìn)程和線程的建立,同步废赞,通信徽龟,互斥等等。網(wǎng)絡(luò)編程唉地,就是socket編程,Linux編程据悔,這個(gè)學(xué)不好等于啥都沒(méi)學(xué),這個(gè)估計(jì)還得了解一下TCP/IP協(xié)議耘沼,編程方面主要是那幾步极颓,申請(qǐng)socket,bind群嗤,listen讼昆,accept幾步,要熟悉種常見(jiàn)的服務(wù)器模型骚烧,進(jìn)程池線程池方式的浸赫,多進(jìn)程方式的,復(fù)用方式的赃绊,最重要的是復(fù)用方式的既峡,這部分可以先只寫(xiě)服務(wù)器,測(cè)試直接用Telnet就好了碧查,加快速度么运敢。其余的就是數(shù)據(jù)庫(kù)校仑,這個(gè)東西不屬于Linux,但是還得會(huì)传惠,要不然啥都做不了迄沫,看那本《MySQL必知必會(huì)》,當(dāng)然深入的話還得找本專(zhuān)業(yè)的書(shū)細(xì)細(xì)看卦方。這個(gè)時(shí)候就可以真刀真槍的去干點(diǎn)有意思的事了羊瘩,比如寫(xiě)個(gè)終端下的類(lèi)似于QQ的軟件啊,包括服務(wù)器和客戶端啊盼砍,慢慢的增加并發(fā)數(shù)尘吗,比如可以同時(shí)支持五千人在線啊,文件傳輸啊等等浇坐。然后學(xué)學(xué)Qt睬捶,熟悉一下圖形界面,可以把你的終端下的QQ完全改成圖形界面下的近刘。估計(jì)到這個(gè)時(shí)候擒贸,你差不多在Linux下進(jìn)行像樣的開(kāi)發(fā)了吧。在這個(gè)過(guò)程的學(xué)習(xí)中觉渴,相信你已經(jīng)學(xué)會(huì)Makefile的編寫(xiě)啊酗宋,編譯啊,鏈接啊等等一些細(xì)枝末節(jié)的東西了疆拘,還得反思一下把零散的東西串一串蜕猫,要系統(tǒng)化。

接下來(lái)就是繼續(xù)深入了哎迄,Linux為什么這么多人用回右,好處在哪里,你得去稍微的看看內(nèi)核源碼啊漱挚,內(nèi)核的進(jìn)線程調(diào)度啊翔烁,我告訴你,Linux內(nèi)核的一個(gè)鏈表都?jí)蚰阊芯亢脦坠?jié)課的旨涝。哦蹬屹,這個(gè)時(shí)候,數(shù)據(jù)結(jié)構(gòu)啥的又得翻出來(lái)加強(qiáng)一下了不是白华,計(jì)算機(jī)網(wǎng)絡(luò)啥的也得看看慨默,操作系統(tǒng)原理啥的也得看看呢不是,把這些東西放在這里是合適的弧腥,前面讓你知其然厦取,知道怎么編程怎么做,現(xiàn)在要知其所以然了不是管搪。

在學(xué)習(xí)的過(guò)程中虾攻,要不斷積累和了解最新的東西铡买,最起碼要知道個(gè)概念,比如分布式霎箍,大數(shù)據(jù)奇钞,云計(jì)算,機(jī)器學(xué)習(xí)漂坏,計(jì)算機(jī)視覺(jué)景埃,JIT等等,形成知識(shí)鏈樊拓,這樣不會(huì)導(dǎo)致你最后不知道學(xué)啥纠亚。有個(gè)建議塘慕,一定要學(xué)一下Python筋夏,一定要學(xué)一下Python,一定要學(xué)一下Python图呢,重要的事情說(shuō)三遍条篷。它能極大的提高你的工作效率,也能和C/C++結(jié)合在一起用蛤织,很nice的語(yǔ)言赴叹。

最后推薦幾本書(shū)(前面的包含在內(nèi)):

《鳥(niǎo)哥的Linux私房菜 基礎(chǔ)篇》

《C程序設(shè)計(jì)語(yǔ)言》 丹尼斯寫(xiě)的

《Linux C編程一站式學(xué)習(xí)》 宋勁杉寫(xiě)的

《Eensstial C++》

《C++ Primer》

《Effective C++》

《Linux網(wǎng)絡(luò)編程》 宋勁彬?qū)懙?/p>

《Unix環(huán)境高級(jí)編程》

《Unix網(wǎng)絡(luò)編程》 兩部

《Linux高級(jí)程序設(shè)計(jì)》 華清遠(yuǎn)見(jiàn)的

《MySQL必知必會(huì)》

《數(shù)據(jù)庫(kù)系統(tǒng)概念》

《大話數(shù)據(jù)結(jié)構(gòu)》

《算法導(dǎo)論》

《Linux內(nèi)核情景分析》

《深入理解Linux內(nèi)核》

《深入理解計(jì)算機(jī)系統(tǒng)》

《現(xiàn)代操作系統(tǒng)》

《深入理解計(jì)算機(jī)網(wǎng)絡(luò)》

《TCP/IP》的三卷經(jīng)典書(shū)

廖雪峰的Python學(xué)習(xí)網(wǎng)站

另外各大論壇,stackoverflow指蚜, 博客園乞巧,CSDN等等,多逛逛摊鸡,當(dāng)然還有知乎也要多逛逛绽媒。差不多就這么多了吧,前文列舉的東西免猾,只要完成一半是辕,估計(jì)就不用我教你學(xué)了,你自己應(yīng)該知道自己該學(xué)啥了……有時(shí)間在更猎提,估計(jì)是沒(méi)時(shí)間了……

1月20日更:

之前有一點(diǎn)忘記寫(xiě)了获三,一定要學(xué)習(xí)一款版本管理工具,首先要了解一下什么是版本管理锨苏。然后選擇一款版本管理工具疙教,這個(gè)很重要。目前常用的是git和svn伞租,就用git就好了松逊,當(dāng)然你要去用svn那也行。還是建議用git肯夏,看廖雪峰的git教程就好经宏。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末犀暑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子烁兰,更是在濱河造成了極大的恐慌耐亏,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沪斟,死亡現(xiàn)場(chǎng)離奇詭異广辰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)主之,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)择吊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人槽奕,你說(shuō)我怎么就攤上這事几睛。” “怎么了粤攒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵所森,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我夯接,道長(zhǎng)焕济,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任盔几,我火速辦了婚禮晴弃,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逊拍。我一直安慰自己上鞠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布顺献。 她就那樣靜靜地躺著旗国,像睡著了一般。 火紅的嫁衣襯著肌膚如雪注整。 梳的紋絲不亂的頭發(fā)上能曾,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音肿轨,去河邊找鬼寿冕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛椒袍,可吹牛的內(nèi)容都是我干的驼唱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼驹暑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼玫恳!你這毒婦竟也來(lái)了辨赐?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤京办,失蹤者是張志新(化名)和其女友劉穎掀序,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體惭婿,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡不恭,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了财饥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片换吧。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖钥星,靈堂內(nèi)的尸體忽然破棺而出沾瓦,到底是詐尸還是另有隱情,我是刑警寧澤打颤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布暴拄,位于F島的核電站漓滔,受9級(jí)特大地震影響编饺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜响驴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一透且、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豁鲤,春花似錦秽誊、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至楣号,卻和暖如春最易,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炫狱。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工藻懒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人视译。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓嬉荆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親酷含。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鄙早,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,114評(píng)論 25 707
  • 哈爾賓雪雕美女臥照 胡99 2017-01-07 雪姑仙臥白絨床 尋思伊人在何方 不日春風(fēng)...
    99閱讀 390評(píng)論 0 5
  • 從上圖中可以看出 Spring 框架中的核心組件只有三個(gè):Core汪茧、Context 和 Beans。它們構(gòu)建起了整...
    樓亭樵客閱讀 222評(píng)論 0 0
  • 感恩天使指導(dǎo)靈高級(jí)智慧們感恩我真我大我的引領(lǐng)感恩我自己感恩一切感恩我的家庭感恩我的老公感恩我的孩子感恩我的親人感恩...
    李紅彥閱讀 428評(píng)論 0 0