Linux編程基礎(第2版)

黑馬程序員

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 售價: $359
  • 語言: 簡體中文
  • ISBN: 7302684952
  • ISBN-13: 9787302684954
  • 相關分類: Linux
  • 下單後立即進貨 (約4週~6週)

  • Linux編程基礎(第2版)-preview-1
  • Linux編程基礎(第2版)-preview-2
  • Linux編程基礎(第2版)-preview-3
Linux編程基礎(第2版)-preview-1

商品描述

"本書是一本基於Linux操作系統的C語言編程入門書籍,全書共分為11章,第1章主要講解Linux操作系統的安裝與使用;第2章講解Linux操作系統常用命令工具;第3章講解Shell編程的相關知識;第4~10章是Linux編程的核心知識,包括Linux C編譯調試環境、文件I/O操作、Linux進程管理、信號、進程間通信、線程和socket網絡編程;第11章講解並發服務器的原理和實現。 書中每章均配有經典案例,讀者可以邊學習邊練習,以鞏固所學的知識,並在實踐中提升實際應用能力。 本書附有源代碼、習題、教學課件等資源,為幫助初學者更好地學習本書中的內容,還提供了在線答疑,希望得到更多讀者的關註。 本書既可作為高等院校本、專科電腦相關專業的專用教材,也可以作為技術愛好者的入門用書。 "

目錄大綱

目錄

第1章初識Linux操作系統1

1.1Linux操作系統概述1

1.1.1Linux操作系統的

起源與發展1

1.1.2Linux操作系統的

發行版本2

1.1.3Linux操作系統的

特點6

1.1.4Linux操作系統的

應用領域7

1.2安裝Linux操作系統7

1.2.1安裝VMware虛擬

機軟件7

1.2.2下載CentOS Stream 9

操作系統鏡像文件8

1.2.3安裝CentOS Stream 9

操作系統9

1.3通過VMware管理Linux

操作系統23

1.3.1系統關機、掛起與

重啟23

1.3.2快照24

1.4Linux操作系統的用戶

界面25

1.4.1圖形用戶界面簡介25

1.4.2Shell簡介26

1.4.3打開Shell終端27

1.4.4Shell終端的命令

操作28

1.5遠程終端訪問——

FinalShell30

1.6本章小結32

1.7本章習題32

第2章Linux操作系統常用

命令工具33

2.1用戶和用戶組管理命令33

2.1.1用戶和用戶組33

2.1.2用戶管理命令34

2.1.3用戶組管理命令38

2.1.4用戶切換命令39

2.1.5用戶權限提升命令41

2.2文件管理的相關概念和

命令43

2.2.1Linux文件系統43

2.2.2Linux目錄結構44

2.2.3Linux文件類型46

2.2.4目錄管理命令47

2.2.5文件查找命令50

2.2.6文件內容顯示命令52

2.2.7文件復制、移動、

刪除54

2.2.8壓縮解壓命令57

2.2.9權限管理63

2.3軟件管理命令66

2.3.1RPM66

2.3.2DNF69

2.4進程管理命令72

2.4.1進程查看命令72

2.4.2進程終止命令77

2.4.3服務管理78

2.5網絡管理與通信命令79

2.5.1ping79

2.5.2ssh80

2.5.3ip80

2.6幫助命令82

2.6.1man82

2.6.2info83

2.7vim編輯器84

2.7.1vim編輯器的基本

操作84

2.7.2vim編輯器的工作

模式86

2.8本章小結89

2.9本章習題89

第3章Shell編程90

3.1Shell腳本的創建與執行90

3.2Shell變量91

3.2.1用戶自定義變量91

3.2.2環境變量94

3.2.3位置變量98

3.2.4預定義變量99

3.3Shell的輸入輸出100

3.3.1read命令與echo

命令100

3.3.2標準I/O與重

定向102

3.4Shell中的特殊符號104

3.4.1引號104

3.4.2通配符105

3.4.3連接符106

3.4.4管道107

3.5數值運算107

3.5.1let命令107

3.5.2$(())108

3.5.3expr命令108

3.6Shell條件語句109

3.6.1條件判斷110

3.6.2if條件語句111

3.6.3case語句114

3.7Shell循環語句115

3.7.1for循環語句115

3.7.2while循環語句116

3.7.3until循環語句118

3.7.4select語句119

3.8Shell函數120

3.8.1函數的定義與

調用120

3.8.2函數中的變量121

3.9Shell數組123

3.10本章小結125

3.11本章習題125

第4章Linux C編譯調試環境126

4.1GCC編譯工具126

4.1.1GCC簡介126

4.1.2gcc命令127

4.2GDB調試工具129

4.2.1GDB簡介129

4.2.2gdb調試實例131

4.3make工具133

4.3.1引入make工具134

4.3.2Makefile文件中的

偽目標137

4.3.3Makefile文件中的

變量138

4.3.4Makefile文件的隱

式規則139

4.4本章小結140

4.5本章習題140

第5章文件I/O操作141

5.1文件概述141

5.1.1文件存儲方式141

5.1.2文件描述符142

5.2文件基本操作143

5.2.1文件的創建與

刪除143

5.2.2文件的打開與

關閉145

5.2.3文件讀寫147

5.2.4文件定位150

5.2.5文件移動152

5.3文件屬性操作154

5.3.1文件屬性概述154

5.3.2獲取文件屬性155

5.3.3檢測文件權限157

5.3.4修改文件權限158

5.3.5修改文件屬主和

屬組159

5.4目錄基本操作161

5.4.1目錄的創建與

刪除161

5.4.2獲取當前工作

目錄162

5.4.3切換當前工作

目錄163

5.4.4目錄的打開與

關閉164

5.4.5目錄的讀取165

5.4.6目錄的定位167

5.5文件I/O重定向170

5.6文件I/O錯誤處理173

5.7本章小結176

5.8本章習題176

第6章Linux進程管理177

6.1進程概述177

6.1.1進程的概念177

6.1.2進程的狀態178

6.1.3進程的結構179

6.2獲取進程屬性181

6.3進程控制182

6.3.1創建進程182

6.3.2exec系列函數185

6.3.3進程休眠190

6.4進程終止190

6.5僵屍進程與孤兒進程193

6.5.1僵屍進程194

6.5.2孤兒進程195

6.6進程等待196

6.6.1wait()函數196

6.6.2waitpid()函數199

6.7守護進程201

6.8本章小結204

6.9本章習題204

第7章信號205

7.1信號概述205

7.1.1信號的概念及

分類205

7.1.2信號的生命周期207

7.2信號發送208

7.2.1kill()函數208

7.2.2raise()函數211

7.2.3alarm()函數213

7.3信號自定義處理214

7.3.1signal()函數214

7.3.2signal()函數的

缺陷216

7.3.3sigaction()函數219

7.4信號集222

7.4.1信號集與操作

函數222

7.4.2信號屏蔽224

7.4.3獲取懸掛信號225

7.5等待指定信號228

7.6利用SIGCHLD信號回收

子進程230

7.7本章小結232

7.8本章習題232

第8章進程間通信233

8.1進程間通信概述233

8.2管道234

8.2.1管道概述234

8.2.2無名管道234

8.2.3命名管道239

8.2.4popen()函數和

pclose()函數242

8.3消息隊列245

8.3.1消息隊列概述245

8.3.2消息隊列相關

函數246

8.3.3消息隊列通信

實例251

8.4共享內存252

8.4.1共享內存概述252

8.4.2共享內存相關

函數252

8.4.3共享內存通信

實例255

8.5信號量256

8.5.1信號量概述256

8.5.2信號量相關函數257

8.5.3信號量通信實例260

8.6本章小結260

8.7本章習題260

第9章線程261

9.1線程概述261

9.2線程基本操作263

9.2.1獲取線程ID263

9.2.2線程創建263

9.2.3線程退出265

9.2.4線程掛起266

9.2.5線程分離268

9.2.6線程取消271

9.2.7線程取消狀態

設置273

9.3線程屬性275

9.3.1線程屬性對象的

初始化與銷毀276

9.3.2線程狀態276

9.3.3線程調度策略277

9.3.4線程調度參數277

9.3.5線程繼承性278

9.3.6線程作用域279

9.3.7線程棧279

9.3.8線程屬性設置

實例281

9.4線程並發284

9.5線程同步286

9.5.1互斥鎖實現線程

同步286

9.5.2條件變量實現線

程同步289

9.5.3信號量實現線程

同步291

9.6本章小結293

9.7本章習題293

第10章socket網絡編程294

10.1socket簡介294

10.1.1socket通信

過程294

10.1.2socket地址

結構295

10.1.3socket屬性297

10.2socket通信基礎知識297

10.2.1字節序298

10.2.2IP地址轉換298

10.3socket通信流程300

10.4socket編程接口302

10.4.1socket()302

10.4.2bind()302

10.4.3listen()304

10.4.4connect()305

10.4.5accept()305

10.4.6send()307

10.4.7recv()308

10.4.8close()309

10.5socket網絡編程實例310

10.5.1C/S模型——

TCP通信310

10.5.2C/S模型——

UDP通信315

10.6本章小結317

10.7本章習題317

第11章並發服務器318

11.1多進程並發服務器318

11.2多線程並發服務器318

11.3I/O多路復用318

11.4本章小結319

11.5本章習題319