當前位置:編程學習大全網 - 源碼破解 - 如何學習linux,有什麽入門的經典書籍?

如何學習linux,有什麽入門的經典書籍?

起步

妳應該為自己創造壹個學習linux的環境--在電腦上裝壹個linux或unix

問題1:版本的選擇

北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux

開發人員中用debian的最多,其次是redhat,從全球linux各應用領域市場份額來看

無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。

對於初學linux的人來說,我建議是使用redhat,原因如下:

1)現在很多書都是以redhat為例講的,為了與書本協調壹致

2)周圍的人都用redhat,交流比較方便

3)redhat應用範圍廣,有典型性和代表性

4)它易於使用和安裝,我們沒有必要把時間浪費在“裝系統”上

而應集中精力學習最有用的東西。

//註:現在覺得RH很死板,AS,ES等用在服務器上或許不錯,

Personal desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮

如果妳並不打算深入學習linux,而是有諸如適應北京市政府辦公平臺遷移到

linux上這種需要,那麽中軟,紅旗等中文linux是不錯的選擇

我強烈建議:自己親自動手把linux裝到妳的硬盤上,

妳必須學會獨立安裝linux系統的技能,對於現在的版本來說,其實跟裝WinXP壹樣簡單

從此現在開始,請不要以windows的工作方式來考慮問題,

應該嘗試挖掘linux身上的“天才unix”的氣質。

三.進階

掌握至少50個以上的常用命令

理解shell管道"|",文件流重定向">"及追加">>"等

熟悉Gnome/KDE等X-windows桌面環境操作

掌握.tgz.rpm.biz等軟件包的常用安裝方法

學習添加外設,安裝設備驅動程序(比如modem)

熟悉Grub/Lilo引導器及簡單的修復操作

熟悉系統固有目錄的名稱及公用

學會用mount命令訪問其他文件系統

了解vi,gcc,gdb等常用編輯器,編譯器,調試器

學習linux環境下的簡單組網

建議:買壹本不需要太厚的linux教材,大致可以滿足要求

//現在的書越來越多了,還帶很多圖,我當時可沒這麽多書:)

四.高級應用

澄清壹些概念:

linux的普通操作與真正的系統管理不能相提並論,後者需要很多知識

我個人認為比較重要幾種linux語言

1.英語

即使妳不學linux,我也強烈建議妳學好英文[U.S.english]

因為實質上計算機語言就是英文和字符,所謂的多國語言只是外部包裝

妳必須能無障礙的閱讀大量的英文技術文檔

在搜索引擎找到的英文網站和網頁中熟練的檢索

最好能有用英文直接交流的能力,

擺脫了這個障礙,妳的學習和理解速度就能快很多,妳就有機會拉開和別人的差距

2.shell[sed/awk]

shell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似於win下的.bat

但shell比.bat強大的多,shell不只是解釋命令,更是壹種編程語言,有時候幾百行的c用shell

幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上

這也是CS中的壹個重要思想。

此外,shell可以實現工作自動化,這個概念也比較重要

sed,awk用來處理文本,歷來很常用

3.Perl/PHP

漂亮的腳本, CGI的首選,比ASP好,應用面很廣

4.C\C++

C、C++是linux/unix的核心語言,系統代碼都是C寫的

5.ASM

系統底層及內核,硬件,設備驅動程序,嵌入式開發都需要

//走核心路線的話,個人認為c\c++,asm最重要

6.Java,Python,Tcl,XML

*系統管理篇

在熟悉linux的基礎上還需要掌握至少壹種unix

我首推Solaris,其次是FreeBSD

比如運營級系統壹般是Solaris+Oracle/DB2之類的

學習apache,ssh,sendmail/Qmail,proftp/vsftp,Samba,Squid,MySQL/PostgreSQL/Oracle,Bind

等各種應用服務器的構架及電子商務的應用

熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型局域網,分布式集群

等各種企業級應用解決方案

熟悉多用戶管理,數據庫管理,文件系統,邏輯存儲管理,日誌分析,備份與災難數據修復

系統補丁,內核升級,以及在此基礎上的防火墻構架等以保障系統安全在內的各種系統管理技能

我覺得,如果在此基礎上再掌握路由/交換設備便是壹個不錯的系統管理員 :D

各種基於linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內

搜索引擎尋找最新文檔,以避免錯誤和漏洞

有幾本技術大全和技術內幕我認為都是這方面不錯的書

*深入學習linux

我個人理解的讀linux內核需要的基礎:

在此之前,希望先把應用層的東西學壹下,那樣會比較好理解

1.C

如果學過潭浩強的大學教科書(除了編幾個數學模型好像什麽也做不了的那種),

建議再看壹下

《The C Programming Language》Second Edition這本聖經

/*如果想學緩沖區溢出,這點C的功力可能是不夠的*/

還有,<C陷阱與缺陷>,<C專家編程>,<C\C++深層探索>

反正經典書看多了是沒有壞處的:)

2.asm (AT&T語法,保護模式)

保護模式下的比較復雜,基本上每本講內核的書都會有介紹

有80x86 Intel語法的基礎就行,

有興趣可以看看Intel的官方白皮書

3.數據結構(離散數學)

計算機專業的核心課程,重要性我就不說了

4.操作系統原理

看懂這個再去讀linux吧

5.微機原理/組成原理(數字電路)

底層直接和硬件打交道,所以這個也要

6.了解linux/unix

我想至少妳要會操作吧,了解unix的API

7.軟件工程/編譯原理

這方面的經典書去www.china-pub.com可以搜到很多

我覺得APUE這種書不適合初學者,還是先看看UPE之類的吧

APUE:

《advanced programming in the unix environment》

《unix環境高級編程》

作者:W.Richard.Stevens***有6本經典書,尊為“聖經”

他的書為全世界黑客所拜讀!

UPE:《unix programming environment》

《unix編程環境》比較適合初學者的,深入淺出,

其中有壹些比較重要的思想

另外,介紹linux下應用層編程的書也有很多,比如

<GNU\Linux編程指南>,redhat,redflag出的書...........

經典書還有很多很多......

操作系統:設計與實現 //交大的考研參考書目,講Minix的

unix操作系統設計

4.4BSD操作系統設計與實現

昂萊氏unix源代碼分析

ulk:understanding the linux kernel (2nd)深入理解linux內核

linux設備驅動程序 (2nd)

linux內核源代碼情景分析

保護方式下的80386及其編程(次書已絕版,只有超星的電子版,如果誰能搞到紙書,清壹定告訴我壹下,非常感激!!!)

在這裏妳能明白"黑客"及"haching"壹詞所代表的真正意義

希望我寫的這篇文章能造就更多的黑客,而不是駭客

五.壹些資源

www.linuxforum.net //國內最高水平GNU站點

www.chinaunix.net //unix、系統管理的不錯

www.linuxeden.com //下載軟件不錯

www.linuxaid.com.cn

www.linuxsir.org

其實還有很多,包括國外的

以上內容是轉載別人的

這些是關於linux的

至於嵌入式的學習,需要很高深的硬件知識

對編程和系統移植有很深的認識才行

嵌入式是壹種包括了DSP及arm等最小系統板的統稱

其結構也各不相同,有些是傳統的馮諾依曼結構,在DSP領域大部分用的是改進的哈佛結構

學嵌入式壹定要學linux,這個是很關鍵的環節

<<unix環境高級編程>> 是linux,和Unix的聖經,大師作品,好得無法形容。

<<萊昂氏UNIX源代碼分析>> 了解核心如何工作的。

還有<<Linux內核0.11分析>>。

妳在網上到處都能找到。

網站,都是我常去的:

/

/

  • 上一篇:國際商務單證員資格考試難嗎,考什麽內容的,急!
  • 下一篇:子彈激發的原理是什麽?
  • copyright 2024編程學習大全網