圖書信息
華清遠見嵌入式培訓中心 吳同海 等編著
ISBN 978-7-121-12829-52011年4月出版
定價:38.00元(含DVD光碟1張)
32開
400頁
宣傳語
深入淺出,依靠深厚行業經驗講透技術原理
循序漸進,詳解典型套用案例提升實戰能力
內 容 簡 介
本書深入淺出地介紹了Linux系統常用工具,並結合大量簡單的實例介紹了這些工具的使用方法。本書講解的主要工具包括Linux基礎工具、Linux應用程式設計工具及一些Linux中常用的其他工具。Linux基礎工具主要包括VMware工具、linux命令工具、編輯器工具、GCC工具、GDB工具、Shell工具和Make工具;Linux應用程式設計工具主要包括Eclipse開發工具、Kdevelop開發工具及項目管理工具Subversion。本書在每章後安排了豐富的課後習題及實踐內容,使讀者可以更快、更好、更全面地掌握所學內容。
本書適合Linux初學者和嵌入式程式設計人員作為工作工具使用,還可作為高等院校電子類、信息類、計算機類等專業Linux的教材,也可作為該領域科研公司及企業的教材和參考書。
前 言
Linux是一套免費使用和自由傳播的類UNIX作業系統,是現有作業系統中用途最廣、功能最全的免費系統。它在伺服器領域,實現了UNIX作業系統的全部功能,在桌面套用領域,由於Linux本身攜帶的工具和外圍擴展工具的增多,它逐漸在桌面作業系統中占據越來越大的市場份額。因此,正確使用Linux系統工具已成為學好Linux的重中之重,尤其是一些常用的工具,如Linux的文本編輯工具、編譯工具、調試工具、集成開發工具、代碼查看工具及項目管理工具等。由於這些工具的存在,使Linux慢慢與Windows作業系統相媲美,並逐漸為科研、公司企業及教學展現出廣闊的前景,尤其是近幾年嵌入式Linux系統的發展,為後PC時代注入了新鮮的活力,並且在軍事國防、計算機、通信、汽車電子及工業控制等領域愈發展現其魅力。據數據顯示,在未來幾年內嵌入式Linux產品有望突破100億美元的市場規模,足見其行業的可觀性。
本書的主要內容
本書以當前最流行的Red Hat和Fedora為例,介紹Linux系統中常用的工具及其使用方法。全書共分為8章。
第1章是Linux系統的基礎知識和概述,介紹了作業系統的一些基本概念、功能、版本及特點。
第2章介紹虛擬機Vmware的使用方法,以及如何在Vmware下安裝Linux作業系統的方法。
第3章介紹Linux下三款常用的編輯器vi、emace、gedit,包括使用這些編輯器的基本方法,以及如何對文本進行加工處理。
第4章介紹Linux下的基本命令,以及如何編寫bash程式。
第5章介紹Linux下最常用的編譯器工具GCC,並通過大量的實例詳細闡述了GCC選項的使用方法。此外,本章還重點介紹如何使用Make工具編輯Makefile檔案,包括其語法、規則、變數及函式等。
第6章介紹3款Linux常用的集成開發環境,分別是Eclipse、Kdevelop和Source-Navigatior。使用它們可以為複雜程式設計提供便捷,並大大節約開發周期。
第7章介紹Linux的程式調試工具GDB,並簡單介紹幾款常用的記憶體調試工具memwatch、mtrace及yamd。
第8章介紹Linux下項目管理工具Subversion的使用方法,包括基本操作和高級操作。
給讀者的建議
本書是作者在Linux教學、科研的基礎上編寫的,並充分考慮到本書的讀者範圍。為方便讀者閱讀和理解,本書大多採用簡明扼要的實例程式。雖然程式言簡意賅,但衷心地希望讀者在通讀本書之前(尤其第2章之後的章節)要了解一些C語言的基礎知識,以免給讀者造成閱讀的不便。
本書主要以實踐為主,若讀者能夠在Linux作業系統下親自進行操作,並結合實例的講解,必定能取得很快的提高。
致謝
本書由吳同海編寫,此外,高淑娟、王麗娜、周毅、林小峰、劉剛、馬海波、李強、吳慧、馬玉剛、馮浩、唐愛琴、李子龍、王明明、蔣志等同志也參與了本書的編寫,在此,編者對他們表示衷心的感謝。
由於時間倉促,加之水平有限,故本書中難免存在疏漏、欠妥,甚至錯誤之處,敬請讀者批評指正,也懇切期望大家提出寶貴意見。
目 錄
第1章 歡迎進入Linux世界 1
1.1 GNU-Linux聯姻 2
1.1.1 GNU-Linux的歷史 2
1.1.2 自由代碼 4
1.1.3 Linux與UNIX的關係 5
1.2 Linux的特點 5
1.2.1 Linux的優點 6
1.2.2 Linux的可移植性 7
1.2.3 標準 8
1.2.4 C程式語言 8
1.3 Linux概述 9
1.3.1 Linux具有核心編程接口 9
1.3.2 Linux支持多用戶 10
1.3.3 Linux支持多任務 11
1.3.4 Linux支持安全的分層檔案系統 12
1.3.5 Shell:命令解釋器和程式語言 14
1.3.6 大量有用的工具集 15
1.3.7 進程間通信 15
1.3.8 系統管理 16
1.4 Linux的其他特性 16
1.4.1 GUI 16
1.4.2 網路工具 18
1.4.3 軟體開發 19
習題 20
第2章 虛擬機 21
2.1 虛擬機簡介 22
2.2 常用的虛擬工具 24
2.2.1 VMware簡介 24
2.2.2 Virtual PC簡介 26
2.2.3 VMware與Virtual PC的對比 28
2.3 VMware虛擬機安裝Linux系統 29
2.3.1 VMware軟體安裝 29
2.3.2 新建虛擬計算機 32
2.3.3 在VMware虛擬機中安裝Linux系統 36
2.3.4 VMware的使用 44
2.3.5 安裝相關虛擬機工具 53
習題 56
第3章 編輯器 57
3.1 編輯器選擇 58
3.2 vi編輯工具的使用 60
3.2.1 vi的簡介 60
3.2.2 vi的簡單編輯 62
3.2.3 vi的高級編輯 69
3.2.4 vi的綜合使用實例 78
3.3 emacs編輯器 85
3.3.1 emacs的簡介 85
3.3.2 emacs的使用 86
3.3.3 emacs的編輯 88
3.3.4 emacs的C模式使用實例 99
3.3.5 emacs的Shell模式使用實例 103
3.4 gedit 106
3.4.1 gedit的啟動與打開文本 106
3.4.2 gedit編輯檔案 107
3.4.3 gedit列印檔案 107
3.4.4 gedit首選項 108
習題 110
第4章 Shell 112
4.1 Shell簡介 113
4.2 Shell基本常用命令 115
4.2.1 系統幫助命令man 116
4.2.2 檔案或目錄命令 120
4.3 Shell的高級使用 154
4.3.1 bash的基礎知識 154
4.3.2 流程控制結構 166
4.4 Shell腳本編寫實例 180
習題 185
第5章 編譯器和工程管理器 188
5.1 二進制代碼工具 189
5.1.1 gnu binutils工具介紹 189
5.1.2 Binutils工具軟體使用實例 191
5.2 編譯器GCC的使用 196
5.2.1 GCC編譯器簡介 196
5.2.2 GCC的下載與安裝 197
5.2.3 GCC的交叉編譯平台搭建 200
5.2.4 GCC編譯選項解析 202
5.2.5 GCC編譯性能分析 212
5.2.6 GCC編譯使用實例 219
5.3 Make工程管理器 221
5.3.1 GNU Make簡介 222
5.3.2 Makefile變數 226
5.3.3 Makefile常用函式 235
5.3.4 Makefile規則語法 243
5.3.5 Makefile自動編寫工具 249
5.3.6 Makefile使用實例 253
習題 256
第6章 Linux集成開發工具 259
6.1 開發工具選擇 260
6.2 Eclipse 262
6.2.1 Eclipse介紹 262
6.2.2 Eclipse及其外掛程式的安裝 264
6.2.3 Eclipse程式開發步驟 270
6.3 Eclipse程式調試步驟 275
6.4 KDevelop 279
6.4.1 KDevelop簡介 279
6.4.2 開發環境介紹 280
6.4.3 KDevelop環境設定 283
6.4.4 KDevelop程式開發步驟 289
6.4.5 KDevelop程式調試步驟 293
6.5 Source-Navigator 297
6.5.1 Source-Navigator介紹 297
6.5.2 Source-Navigator的安裝 298
6.5.3 使用方法及界面簡介 300
6.5.4 Source-Navigator編譯和運行 309
習題 314
第7章 常用調試工具 315
7.1 GDB調試器 316
7.1.1 GDB調試器介紹 316
7.1.2 GDB調試器的命令 326
7.1.3 GDB調試器使用實例 340
7.2 記憶體調試工具 342
7.2.1 memwatch工具 343
7.2.2 mtrace工具 345
7.2.3 yamd工具 347
習題 349
第8章 項目管理工具 351
8.1 開發工具選擇 352
8.2 SVN的基本概念 358
8.2.1 版本庫 358
8.2.2 SVN工作術語介紹 361
8.2.3 SVN組織結構 361
8.2.4 版本 362
8.2.5 標籤、分支和合併 363
8.3 SVN伺服器的下載和安裝 365
8.4 SVN的基本操作 368
8.4.1 創建項目庫 368
8.4.2 項目創建 369
8.4.3 項目查看 372
8.4.4 項目簽出 373
8.4.5 項目修改 374
8.4.6 項目提交 376
8.4.7 項目更新 377
8.4.8 對檔案的其他操作 378
8.5 SVN高級操作 381
8.5.1 創建分支 382
8.5.2 使用分支 384
8.5.3 創建標籤 385
8.5.4 合併 386
習題 388