Linux系統(tǒng)程序設(shè)計(jì)教程
定 價(jià):45 元
叢書(shū)名:計(jì)算機(jī)類本科規(guī)劃教材
- 作者:王凱
- 出版時(shí)間:2019/1/1
- ISBN:9787121358555
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP316.85
- 頁(yè)碼:288
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)基于Linux內(nèi)核,以RedHat Linux平臺(tái)為例,介紹Linux系統(tǒng)程序設(shè)計(jì)的基礎(chǔ)知識(shí),為準(zhǔn)備學(xué)習(xí)Linux系統(tǒng)程序開(kāi)發(fā)的初學(xué)者提供方便快捷的途徑。 全書(shū)共12章。第1章介紹Linux操作系統(tǒng)的基本使用方法;第2章介紹Linux平臺(tái)下進(jìn)行C語(yǔ)言開(kāi)發(fā)需要的各種工具;第3章介紹Linux平臺(tái)下常用的編程基礎(chǔ)知識(shí);第4~6章介紹文件、文件屬性、目錄文件相關(guān)的編程理論和方法;第7、8章介紹進(jìn)程和線程的編程方法;第9~11章介紹信號(hào)、管道、信號(hào)量、共享內(nèi)存、消息隊(duì)列、套接字6種進(jìn)程間通信方式;第12章介紹兩個(gè)貫穿本書(shū)大多數(shù)知識(shí)點(diǎn)的綜合案例。 本書(shū)可作為高等院校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程、物聯(lián)網(wǎng)工程等相關(guān)專業(yè)“Linux程序設(shè)計(jì)”相關(guān)課程的教材,同時(shí)可供本科高年級(jí)學(xué)生自學(xué)使用,也可以作為相關(guān)工程技術(shù)人員和計(jì)算機(jī)愛(ài)好者的參考書(shū)。
王凱,大連東軟信息學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系副教授,多年來(lái)一直從事嵌入式軟件開(kāi)發(fā),移動(dòng)應(yīng)用開(kāi)發(fā)等方面的教學(xué)與科研工作。
第1章 Linux基礎(chǔ)
1.1 UNIX/Linux簡(jiǎn)介
1.1.1 UNIX簡(jiǎn)介
1.1.2 UNIX體系結(jié)構(gòu)
1.1.3 Linux簡(jiǎn)介
1.1.4 Linux版本說(shuō)明
1.1.5 Linux特點(diǎn)
1.2 庫(kù)函數(shù)與系統(tǒng)調(diào)用
1.3 Linux常用命令
1.3.1 用戶和用戶組命令
1.3.2 文件和目錄命令
1.3.3 進(jìn)程命令
1.3.4 獲取幫助信息
1.4 案例1:通過(guò)SSH終端登錄Linux 系統(tǒng)
1.4.1 分析與設(shè)計(jì)
1.4.2 實(shí)施
1.4.3 運(yùn)行
習(xí)題
第2章 Linux系統(tǒng)開(kāi)發(fā)環(huán)境
2.1 Vi編輯器
2.1.1 Vi編輯器的工作模式
2.1.2 Vi編輯器的基本用法
2.1.3 Vi編輯器的高級(jí)用法
2.2 GCC編譯器
2.2.1 GCC編譯器介紹
2.2.2 GCC編譯器基本用法
2.3 Makefile文件的使用
2.3.1 Makefile文件
2.3.2 Makefile文件的命名
2.3.3 Makefile文件的調(diào)用
2.3.4 Makefile文件的內(nèi)容
2.3.5 make命令的特殊用法
2.4 GDB調(diào)試器
2.4.1 輸出調(diào)試
2.4.2 GDB調(diào)試器
2.5 庫(kù)
2.5.1 庫(kù)相關(guān)概念
2.5.2 靜態(tài)庫(kù)和共享庫(kù)
2.6 案例2:簡(jiǎn)易學(xué)生成績(jī)計(jì)算
2.6.1 分析與設(shè)計(jì)
2.6.2 實(shí)施
2.6.3 編譯與運(yùn)行
習(xí)題
第3章 Linux程序設(shè)計(jì)初步
3.1 程序及進(jìn)程的存儲(chǔ)結(jié)構(gòu)
3.2 變量的類型修飾符
3.3 命令行參數(shù)及獲取
3.3.1 命令行參數(shù)
3.3.2 getopt獲取命令行參數(shù)
3.4 環(huán)境變量
3.4.1 Shell變量
3.4.2 環(huán)境變量的相關(guān)命令
3.4.3 環(huán)境變量函數(shù)
3.5 時(shí)間管理
3.6 錯(cuò)誤代碼
3.7 標(biāo)準(zhǔn)I/O與文件I/O
3.8 案例3:設(shè)置環(huán)境變量
3.8.1 分析與設(shè)計(jì)
3.8.2 實(shí)施
3.8.3 編譯與運(yùn)行
習(xí)題
第4章 文件I/O
4.1 文件系統(tǒng)簡(jiǎn)介
4.1.1 UNIX/Linux文件系統(tǒng)概述
4.1.2 虛擬文件系統(tǒng)(VFS)
4.1.3 索引節(jié)點(diǎn)(inode)
4.1.4 文件的類型
4.1.5 文件的訪問(wèn)權(quán)限
4.2 訪問(wèn)文件的內(nèi)核數(shù)據(jù)結(jié)構(gòu)
4.3 文件基本I/O操作
4.3.1 打開(kāi)/創(chuàng)建文件
4.3.2 讀文件
4.3.3 寫文件
4.3.4 文件定位
4.3.5 關(guān)閉文件
4.3.6 文件操作舉例
4.4 文件訪問(wèn)的同步
4.5 案例4:文件復(fù)制命令的實(shí)現(xiàn)
4.5.1 分析與設(shè)計(jì)
4.5.2 實(shí)施
4.5.3 編譯與運(yùn)行
習(xí)題
第5章 文件屬性
5.1 獲取文件屬性
5.2 用戶/組ID與名字的轉(zhuǎn)換
5.2.1 用戶和組
5.2.2 獲取文件的用戶和組的信息
5.3 硬鏈接與符號(hào)鏈接
5.3.1 硬鏈接與符號(hào)鏈接的區(qū)別
5.3.2 相關(guān)的系統(tǒng)調(diào)用
5.4 dup/dup2
5.4.1 輸入/輸出重定向
5.4.2 系統(tǒng)調(diào)用dup/dup2
5.5 文件屬性的修改
5.5.1 修改文件屬性
5.5.2 改變文件所有者及所屬組chown/fchown/lchown
5.5.3 改變文件訪問(wèn)權(quán)限chmod/fchmod
5.5.4 改變文件時(shí)間utime
5.5.5 改變文件長(zhǎng)度truncate/ftruncate
5.6 案例5:顯示文件長(zhǎng)格式信息
5.6.1 分析與設(shè)計(jì)
5.6.2 實(shí)施
5.6.3 編譯與運(yùn)行
習(xí)題
第6章 目錄文件管理
6.1 目錄基本操作
6.1.1 打開(kāi)目錄
6.1.2 讀目錄
6.1.3 關(guān)閉目錄
6.2 目錄其他操作
6.2.1 切換當(dāng)前目錄
6.2.2 創(chuàng)建目錄
6.2.3 刪除目錄
6.2.4 目錄指針定位
6.3 案例6:顯示指定目錄下文件列表
6.3.1 分析與設(shè)計(jì)
6.3.2 實(shí)施
6.3.3 編譯與運(yùn)行
習(xí)題
第7章 進(jìn)程控制
7.1 進(jìn)程基本概念
7.1.1 進(jìn)程和進(jìn)程控制塊
7.1.2 進(jìn)程標(biāo)識(shí)
7.1.3 用戶標(biāo)識(shí)
7.2 進(jìn)程控制
7.2.1 創(chuàng)建進(jìn)程
7.2.2 exec*系列函數(shù)
7.2.3 進(jìn)程終止
7.2.4 等待進(jìn)程結(jié)束
7.2.5 system函數(shù)
7.3 什么是Shell
7.3.1 用戶登錄Shell
7.3.2 Shell執(zhí)行命令
7.4 案例7:實(shí)現(xiàn)簡(jiǎn)單的Shell
7.4.1 分析與設(shè)計(jì)
7.4.2 實(shí)施
7.4.3 編譯與運(yùn)行
習(xí)題
第8章 線程
8.1 線程概念
8.2 線程基本操作
8.3 線程間通信
8.4 案例8:線程實(shí)例
8.4.1 分析與設(shè)計(jì)
8.4.2 實(shí)施
8.4.3 編譯與運(yùn)行
習(xí)題
第9章 信號(hào)與管道
9.1 信號(hào)
9.1.1 信號(hào)的概念
9.1.2 信號(hào)的產(chǎn)生
9.1.3 信號(hào)的響應(yīng)方式
9.1.4 sleep函數(shù)和pause系統(tǒng)調(diào)用
9.1.5 信號(hào)集
9.2 管道
9.2.1 管道基本概念
9.2.2 FIFO
習(xí)題
第10章 進(jìn)程間通信
10.1 System V IPC簡(jiǎn)介
10.2 System V信號(hào)量
10.3 System V共享內(nèi)存
10.4 System V消息隊(duì)列
習(xí)題
第11章 網(wǎng)絡(luò)編程
11.1 網(wǎng)絡(luò)編程基本概念
11.1.1 常用網(wǎng)絡(luò)相關(guān)命令和配置文件
11.1.2 軟件體系結(jié)構(gòu)
11.1.3 網(wǎng)絡(luò)協(xié)議及OSI參考模型
11.1.4 IP地址和端口
11.1.5 字節(jié)順序
11.1.6 網(wǎng)絡(luò)數(shù)據(jù)傳輸方式
11.2 套接字編程基礎(chǔ)
11.2.1 套接字簡(jiǎn)介
11.2.2 套接字地址結(jié)構(gòu)
11.2.3 面向連接套接字通信過(guò)程
11.2.4 面向無(wú)連接套接字通信過(guò)程
11.3 套接字編程相關(guān)系統(tǒng)調(diào)用
11.3.1 系統(tǒng)調(diào)用socket
11.3.2 系統(tǒng)調(diào)用bind
11.3.3 系統(tǒng)調(diào)用listen
11.3.4 系統(tǒng)調(diào)用accept
11.3.5 系統(tǒng)調(diào)用connect
11.3.6 系統(tǒng)調(diào)用send
11.3.7 系統(tǒng)調(diào)用sendto
11.3.8 系統(tǒng)調(diào)用recv
11.3.9 系統(tǒng)調(diào)用recvfrom
11.3.10 系統(tǒng)調(diào)用close
11.3.11 系統(tǒng)調(diào)用shutdown
11.4 案例9:基于網(wǎng)絡(luò)的進(jìn)程間通信
11.4.1 分析與設(shè)計(jì)
11.4.2 實(shí)施
11.4.3 編譯與運(yùn)行
11.5 基于UDP的網(wǎng)絡(luò)編程
11.6 域名解析
11.6.1 域名解析
11.6.2 IP地址形式轉(zhuǎn)換
11.6.3 IP地址與主機(jī)名
習(xí)題
第12章 綜合案例
12.1 Linux網(wǎng)絡(luò)傳輸系統(tǒng)
12.1.1 構(gòu)思
12.1.2 設(shè)計(jì)
12.1.3 實(shí)施
12.1.4 運(yùn)行
12.2 簡(jiǎn)易的文件傳輸系統(tǒng)
12.2.1 構(gòu)思
12.2.2 設(shè)計(jì)
12.2.3 實(shí)施
12.2.4 運(yùn)行
習(xí)題
附錄A Linux主要的系統(tǒng)調(diào)用
附錄B ASCII碼
參考文獻(xiàn)