一、linux之路,路漫漫其修遠兮,吾將上下而求索!先上經典書籍!
1.入門篇
《LINUX權威指南》書不錯,寫的很全面也比較廣,涉及的不深,做為入門書籍不錯,可以比較全面的瞭解linux 。另外比較熱門的也可以看看《鳥哥的私房菜》等書,偏管理類的書。如果想做server方向的可以找來看看。
2.驅動篇
《LINUX裝置驅動程式 》就是網上說的“LDD”,經典之作,必備書籍。國產經典《Linux驅動詳細解》也是一本非常不錯的書,很實用,書中原始碼 分析比較多,基於2440的,對linux外圍驅動有很全面的講解。
3.核心篇
浙江大學的《LINUX核心原始碼情景分析》,外國的《UNIX原始碼分析》還有《深入理解linux核心》都是出名的經典巨作。
4.shell篇
《LINUX與UNIX Shell編程指南》
5.應用編程
不用說了肯定是《unix環境進階編程》被稱為unix編程的聖經。
6.TCP/IP篇
《TCP/IP詳解》作者W.Richard Stevens也是《unix環境進階編程》的作者,牛人出的書沒有一本不是經典的。但是英年早逝,默哀一下。
7.c語言
《The C Programming Language》正是作者造出來的c語言,書能垃圾就怪了。
《c和指標》和《c缺陷和陷阱》兩本必備。包含了c語言最容易出錯的地方,加深c語言功力的好材料。
c專家編程,c語言技術手冊, Practice c Programming 等。
8.演算法
《演算法導論》,床頭必備喝
註:這些經典的書是經得起反覆琢磨的,知識並不是一蹴而就的,需要反覆實踐,反覆理解!千萬不要妄想一口吃個胖子!
二、如何學習linux
Linux作業系統主要就是一些設定檔(/etc)和命令列工具(/bin /sbin /usr/bin /usr/sbin),要掌握作業系統的主要目錄結構和設定檔,運用系統的命令列工具(shell指令碼)完成常規的作業系統維護工作,監控工作。進而可以安裝部署一些公司專屬應用程式,進行監控、管理等等。
1.重要的命令:find,sed,awk,正則……
2.工具:gnu下的著名軟體 gcc,gdb,vi,make……
3.unix編程,編譯等。xwin開發方式,gtk,qt……
4.檔案系統,/dev下的裝置(會用),/var下重要的東西,/etc 下的配置(常用服務配置apache, ftpd, sshd, xinetd, squid, natd, named),系統啟動順序,配置相應服務等……
5.c,python,php等進階語言……
三、個人水平定位
1.初級:熟練使用命令、熟悉Shell編程、能配置簡單的服務,清楚各類服務相關的設定檔的位置, 能看懂並可修改系統提供的配置指令碼(/etc/*.*)。推薦書籍:
《鳥哥的私房菜基礎篇、進階篇》
《Advanced Bash Shell》
2.中級:熟悉TCP/IP原理、OS原理、熟練使用C語言、Linux系統編程、網路編程。 推薦書籍:
《The C Programming Language》
《Unix環境進階編程》
《Linux程式設計》
《TCP/IP協議詳解卷一》
《Unix網路進階編程》
3.進階: 核心,驅動層級。推薦書籍:
《Linux Device Driver》
《深入理解Linux核心》
《深入理解電腦系統》
《深入理解LINUX網路內幕》
四、學習途徑
1.Help System 協助文檔(man)
2.online books 線上文檔(wiki ,blogs)
3.Training Guide 培訓教程
4.Topic Collections 專題
5.Forms 論壇
6.名家的書籍
7.IRC,郵件清單等
8.理論與理論中的實踐的差別並不如理論與實踐中的實踐差別那樣大!
五、其他的書
javascript基礎教程,~進階程式設計,~權威指南,~DOM編程藝術,~設計模式,~入門經典
UNIX in a Nutshell,The unix programming environment,unix技術手冊
managing projects with make
applying RCS and SCCS
六、自己的路
linux/unix (c , bash(shell) , 工具(vi, gcc, make) , 核心機制 , python(進階語言) , 開源)
設計理念,系統管理,unix環境,伺服器,嵌入式,案頭,行動裝置