第一章 什么是Linux
1.1 Linux的歷史
1.1.1 Linux的誕生
1.1.2 Linux的吉祥物
1.1.3 Linux的發(fā)行版
1.1.4 自由軟件基金會和GNU版權
1.2 Linux特點
1.2.1 多用戶系統(tǒng)
1.2.2 登錄
1.2.3 文件系統(tǒng)的層次結構
1.2.4 一般Linux系統(tǒng)的文件樹結構
思考和練習
第二章 Linux系統(tǒng)的安裝
2.1 Fedora Core 6.0的安裝過程
2.1.1 安裝前的準備工作
2.1.2 開始安裝FC6
2.1.3 硬盤分區(qū)
2.1.4 接下來的安裝
2.1.5 安裝后的配置
2.2 Ubuntu 8.04的安裝
2.2.1 安裝前的準備
2.2.2 開始安裝
2.2.3 安裝后的設置
思考和練習
第三章 Linux的命令行操作
3.1 初識Linux
3.1.1 登錄Linux
3.1.2 J1.個有趣的命令
3.1.3 在文件系統(tǒng)中邀游
3.1.4 顯示目錄內容
3.2 常用Linux。命令
3.2.1 Linux系統(tǒng)中目錄的層次結構
3.2.2 文件系統(tǒng)
3.2.3 處理文件
3.2.4 目錄和文件的屬性
3.2.5 其他命令
思考和練習
第四章 Vi的使用
4.1 編輯方式
4.1.1 光標定位_
4.1.2 搜索字符串
4.1.3 替換、刪除
4.1.4 剪切和粘貼
4.1.5 撤消和重復
4.2 插入方式
4.3 命令方式
4.3.1 退出命令
4.3.2 文件
4.3.3 行號使用
4.3.4 字符串搜索
4.4 規(guī)則表達式
4.4.1 正文替換
4.4.2 刪除正文
4.5 編輯程序的選項和運行系統(tǒng)命令
思考和練習
第五章 Shell環(huán)境和程序設計
5.:1 Bash
5.1.1 bash shell的基本特點
5.1.2 bash高級屬性
5.2 管道中的過濾器
5.2.1 基本過濾命令
5.2.2 awk編程
5.3 Shell程序設計
5.3.1 建立和運行shell程序
5.3.2 shell程序變量
5.3.3 語句和表達式
5.3.4 子函數及其他
思考和練習
第六章 C語言編程環(huán)境簡介
6.1 第一個C程序
6.2 GNU C編譯和連接
6.2.1 gcc命令行選項
6.2.2 函數庫和頭文件
6.2.3 ’GNU C擴展
6.3 GNU make項目管理
6.3.1 編寫make文件
6.3.2 偽目標
6.3.3 變量
6.3.4 隱含規(guī)則和規(guī)則模式
6.3.5 make命令行參量
思考和練習
第七章 文件系統(tǒng)操作
7.1 文件操作
7.1.1 文件的打開和關閉
7.1.2 文件的輸入輸出
7.1.3 設置打開文件的位置
7.1.4 文件描述符和文件指針
7.1.5 文件控制
7.1.6 一個例子
7.2 目錄操作
7.2.1 工作目錄
7.2.2 操作目錄結構
7.2.3 目錄、文件的屬性
7.2.4 文件的其他操作
7.2.5 一個例子
7.3 設備文件
7.3.1 設備文件控制函數
7.3.2 串行口的編程
7.3.3 聲卡的編程
思考和練習
第八章 進程管理
8.1 進程執(zhí)行環(huán)境
8.1.1 程序的參數
8.1.2 環(huán)境變量
8.2 進程
8.2.1 獲得進程號
8.2.2 創(chuàng)建進程
8.2.3 運行程序
8.2.4 進程的終止
8.2.5 進程的完成狀態(tài)
8.2.6 進程創(chuàng)建的完整例子——執(zhí)行外部命令
思考和練習
第九章 信號
9.1 信號的基本概念
9.1.1 信號的種類
9.1.2 信號的發(fā)生
9.1.3 信號的傳遞與響應
9.2 一些標準的信號
9.2.1 程序出錯信號
9.2.2 程序終止信號
9.2.3 鬧鐘信號
9.2.4 異步I//0信號
9.2.5 作業(yè)控制信號
9.2.6 操作錯誤信號
9.2.7 外圍信號
9.2.8 信號消息
9.3 特定信號的反應
9.3.1 信號的控制的基本方法
9.3.2 信號的控制的高級方法
9.3.3 sigIlal()函數和sigaction()函數的關系
9.3.4 sigaction函數舉例
9.3.5 sigaction函數的標志
9.3.6 初始化信號回調
9.4 定義信號句柄
9.4.1 能夠返回的信號句柄
9.4.2 結束進程的信號句柄
9.4.3 信號函數中的非局域轉移
9.4.4 信號函數執(zhí)行時到達的信號
9.4.5 時間相近信號的合并
9.4.6 信號句柄和非重人函數
9.4.7 數據的原子操作和信號
9.4.8 非原子操作帶來的問題
9.4.9 原子類型
9.4.1 0原子類型應用范式
9.5 被信號中斷的原始操作
9.6 信號的產生
9.6.1 進程自己產生
9.6.2 其他進程產生信號
9.6.3 使用kill的權限
9.6.4 利用kill函數進行進程通訊
9.7 信號的阻塞
9.7.1 阻塞信號的作用
9.7.2 信號集
9.7.3 進程的信號掩碼
9.7.4 舉例:禁止關鍵代碼時信號到達
9.7.5 在信號句柄中阻塞信號
9.7.6 查找阻塞的信號
9.7.7 信號阻塞的代替方法
9.8 等待信號
9.8.1 用pause()函數
9.8 。2 pause()函數產生的問題
9.8.3 用sigsuspend()函數
思考和練習
第十章 進程間通訊
10.1 管道和命名管道
10.1.1 管道
10.1.2 命名管道
10.2 系統(tǒng)V IPC機制
10.2.1 一般概念
10.2.2 消息隊列
10.2.3 信號量
10.2.4 共享內存
思考和練習
第十一章 Socket通訊_
11.1 Socket的基本概念
11.1.1 什么是Socket
11.1.2 網絡協(xié)議
11.1.3 數據結構
11.2 IP地址和域名
11.2.1 IP地址
11.2.2 域名系統(tǒng)
11.3 Socket相關系統(tǒng)調用
11.3.1 socket()
11.3.2 bind()
11.3.3 connect()
11.3.4 accept()和listen()
11.3.5 send()和Fecv()
11.3.6 sendto()和recvfrom()
11.3.7 close()和shutdown()
11.3.8 getpeemame()函數
11.3.9 gethostname()函數
11.3.1 0原始格式通訊的一個例子
思考和練習
第十二章 非連接通訊一UDP
12.1 UDP服務器
12.1.1 建立UDP監(jiān)聽套接口
12.1.2 UDP應用協(xié)議舉例
12.2 接收UDP
12.2.1 UDP客戶機
12.2.2 UDP客戶舉例
思考和練習
第十三章 面向連接的通訊一TCP
13.1 服務器程序
13.1.1 守護進程
13.1.2 使用FCP連接的服務器
13.1.3 一些額外的處理
13.1.4 使用rcP的服務器程序樣例
13.2 客戶程序
思考和練習
第十四章 使用stk進行圖形界面設計
14.1 gtk的基本概念和機制
14.1.1 Linux下的圖形系統(tǒng)
……