Linux系統程式設計教程

Linux系統程式設計教程

《Linux系統程式設計教程》是2019年1月電子工業出版社出版的圖書,作者是王凱。

基本介紹

  • 中文名:Linux系統程式設計教程
  • 作者:王凱
  • 出版社電子工業出版社
  • 出版時間:2019年01月
  • 頁數:288 頁
  • 定價:45 元
  • 開本:16 開
  • ISBN:9787121358555
內容簡介,目錄,

內容簡介

本書基於Linux核心,以RedHat Linux平台為例,介紹Linux系統程式設計的基礎知識,為準備學習Linux系統程式開發的初學者提供方便快捷的途徑。 全書共12章。第1章介紹Linux作業系統的基本使用方法;第2章介紹Linux平台下進行C語言開發需要的各種工具;第3章介紹Linux平台下常用的編程基礎知識;第4~6章介紹檔案、檔案屬性、目錄檔案相關的編程理論和方法;第7、8章介紹進程和執行緒的編程方法;第9~11章介紹信號、管道、信號量、共享記憶體、訊息佇列、套接字6種進程間通信方式;第12章介紹兩個貫穿本書大多數知識點的綜合案例。 本書可作為高等院校計算機科學與技術、軟體工程、物聯網工程等相關專業“Linux程式設計”相關課程的教材,同時可供本科高年級學生自學使用,也可以作為相關工程技術人員和計算機愛好者的參考書。

目錄

第1章 Linux基礎
1.1 UNIX/Linux簡介
1.1.1 UNIX簡介
1.1.2 UNIX體系結構
1.1.3 Linux簡介
1.1.4 Linux版本說明
1.1.5 Linux特點
1.2 庫函式與系統調用
1.3 Linux常用命令
1.3.1 用戶和用戶組命令
1.3.2 檔案和目錄命令
1.3.3 進程命令
1.3.4 獲取幫助信息
1.4 案例1:通過SSH終端登錄Linux 系統
1.4.1 分析與設計
1.4.2 實施
1.4.3 運行
習題
第2章 Linux系統開發環境
2.1 Vi編輯器
2.1.1 Vi編輯器的工作模式
2.1.2 Vi編輯器的基本用法
2.1.3 Vi編輯器的高級用法
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檔案的調用
2.3.4 Makefile檔案的內容
2.3.5 make命令的特殊用法
2.4 GDB調試器
2.4.1 輸出調試
2.4.2 GDB調試器
2.5 庫
2.5.1 庫相關概念
2.5.2 靜態庫和共享庫
2.6 案例2:簡易學生成績計算
2.6.1 分析與設計
2.6.2 實施
2.6.3 編譯與運行
習題
第3章 Linux程式設計初步
3.1 程式及進程的存儲結構
3.2 變數的類型修飾符
3.3 命令行參數及獲取
3.3.1 命令行參數
3.3.2 getopt獲取命令行參數
3.4 環境變數
3.4.1 Shell變數
3.4.2 環境變數的相關命令
3.4.3 環境變數函式
3.5 時間管理
3.6 錯誤代碼
3.7 標準I/O與檔案I/O
3.8 案例3:設定環境變數
3.8.1 分析與設計
3.8.2 實施
3.8.3 編譯與運行
習題
第4章 檔案I/O
4.1 檔案系統簡介
4.1.1 UNIX/Linux檔案系統概述
4.1.2 虛擬檔案系統(VFS)
4.1.3 索引節點(inode)
4.1.4 檔案的類型
4.1.5 檔案的訪問許可權
4.2 訪問檔案的核心數據結構
4.3 檔案基本I/O操作
4.3.1 打開/創建檔案
4.3.2 讀檔案
4.3.3 寫檔案
4.3.4 檔案定位
4.3.5 關閉檔案
4.3.6 檔案操作舉例
4.4 檔案訪問的同步
4.5 案例4:檔案複製命令的實現
4.5.1 分析與設計
4.5.2 實施
4.5.3 編譯與運行
習題
第5章 檔案屬性
5.1 獲取檔案屬性
5.2 用戶/組ID與名字的轉換
5.2.1 用戶和組
5.2.2 獲取檔案的用戶和組的信息
5.3 硬連結與符號連結
5.3.1 硬連結與符號連結的區別
5.3.2 相關的系統調用
5.4 dup/dup2
5.4.1 輸入/輸出重定向
5.4.2 系統調用dup/dup2
5.5 檔案屬性的修改
5.5.1 修改檔案屬性
5.5.2 改變檔案所有者及所屬組chown/fchown/lchown
5.5.3 改變檔案訪問許可權chmod/fchmod
5.5.4 改變檔案時間utime
5.5.5 改變檔案長度truncate/ftruncate
5.6 案例5:顯示檔案長格式信息
5.6.1 分析與設計
5.6.2 實施
5.6.3 編譯與運行
習題
第6章 目錄檔案管理
6.1 目錄基本操作
6.1.1 打開目錄
6.1.2 讀目錄
6.1.3 關閉目錄
6.2 目錄其他操作
6.2.1 切換當前目錄
6.2.2 創建目錄
6.2.3 刪除目錄
6.2.4 目錄指針定位
6.3 案例6:顯示指定目錄下檔案列表
6.3.1 分析與設計
6.3.2 實施
6.3.3 編譯與運行
習題
第7章 進程控制
7.1 進程基本概念
7.1.1 進程和進程控制塊
7.1.2 進程標識
7.1.3 用戶標識
7.2 進程控制
7.2.1 創建進程
7.2.2 exec*系列函式
7.2.3 進程終止
7.2.4 等待進程結束
7.2.5 system函式
7.3 什麼是Shell
7.3.1 用戶登錄Shell
7.3.2 Shell執行命令
7.4 案例7:實現簡單的Shell
7.4.1 分析與設計
7.4.2 實施
7.4.3 編譯與運行
習題
第8章 執行緒
8.1 執行緒概念
8.2 執行緒基本操作
8.3 執行緒間通信
8.4 案例8:執行緒實例
8.4.1 分析與設計
8.4.2 實施
8.4.3 編譯與運行
習題
第9章 信號與管道
9.1 信號
9.1.1 信號的概念
9.1.2 信號的產生
9.1.3 信號的回響方式
9.1.4 sleep函式和pause系統調用
9.1.5 信號集
9.2 管道
9.2.1 管道基本概念
9.2.2 FIFO
習題
第10章 進程間通信
10.1 System V IPC簡介
10.2 System V信號量
10.3 System V共享記憶體
10.4 System V訊息佇列
習題
第11章 網路編程
11.1 網路編程基本概念
11.1.1 常用網路相關命令和配置檔案
11.1.2 軟體體系結構
11.1.3 網路協定及OSI參考模型
11.1.4 IP位址和連線埠
11.1.5 位元組順序
11.1.6 網路數據傳輸方式
11.2 套接字編程基礎
11.2.1 套接字簡介
11.2.2 套接字地址結構
11.2.3 面向連線套接字通信過程
11.2.4 面向無連線套接字通信過程
11.3 套接字編程相關係統調用
11.3.1 系統調用socket
11.3.2 系統調用bind
11.3.3 系統調用listen
11.3.4 系統調用accept
11.3.5 系統調用connect
11.3.6 系統調用send
11.3.7 系統調用sendto
11.3.8 系統調用recv
11.3.9 系統調用recvfrom
11.3.10 系統調用close
11.3.11 系統調用shutdown
11.4 案例9:基於網路的進程間通信
11.4.1 分析與設計
11.4.2 實施
11.4.3 編譯與運行
11.5 基於UDP的網路編程
11.6 域名解析
11.6.1 域名解析
11.6.2 IP位址形式轉換
11.6.3 IP位址與主機名
習題
第12章 綜合案例
12.1 Linux網路傳輸系統
12.1.1 構思
12.1.2 設計
12.1.3 實施
12.1.4 運行
12.2 簡易的檔案傳輸系統
12.2.1 構思
12.2.2 設計
12.2.3 實施
12.2.4 運行
習題
附錄A Linux主要的系統調用
附錄B ASCII碼
參考文獻

相關詞條

熱門詞條

聯絡我們