Ubuntu Linux操作系統案例教程

Ubuntu Linux操作系統案例教程

作者: 張平
出版社: 人民郵電
出版在: 2021-09-01
ISBN-13: 9787115570253
ISBN-10: 7115570256
裝訂格式: 平裝
總頁數: 438 頁





內容描述


本書以應用為導向,基於新版Ubuntu,介紹Linux操作系統的基礎知識及其在區塊鏈、大數據和人工智能等場景中的應用。全書共13章,分為Linux操作系統基礎篇、系統管理篇、Linux操作系統開發篇、前沿應用篇4個部分。第一部分主要包括:Linux操作系統概述、圖形界面基礎、Linux操作系統命令行基礎。第二部分主要包括:文件和目錄管理、用戶和組管理、磁盤存儲管理、進程管理、軟件包管理。第三部分主要包括:Shell編程和Linux C編程。第四部分主要通過實例介紹Linux操作系統在區塊鏈、大數據和人工智能等場景中的應用。
本書可作為高等院校軟件工程、電腦科學與技術、物聯網工程、數據科學與大數據技術、智能科學與技術、網絡工程、通信工程、電子信息工程等專業的教材,也可供廣大Linux操作系統愛好者學習使用,還可作為其他IT從業人員的參考書。


目錄大綱


【第 一部分】Linux操作系統基礎篇
第 1章  Linux操作系統概述 2
1.1  什麼是Linux 3
1.2  Linux操作系統的發展歷史 3
1.2.1  UNIX操作系統的發展歷史 3
1.2.2  類UNIX操作系統的發展歷史 3
1.2.3  Linux操作系統的誕生 4
1.2.4  GNU和GPL概述 4
1.2.5  Linux操作系統的發展 4
1.3  Linux操作系統的版本 5
1.3.1  Linux內核 5
1.3.2  Linux發行版 5
1.3.3  代表性的Linux發行版 5
1.3.4  Linux發行版市場佔有率分析 7
1.4  Linux操作系統的主要應用領域 7
1.4.1  傳統企業級服務器領域 7
1.4.2  智能手機、平板電腦、上網本等移動終端 8
1.4.3  物聯網、車聯網等應用場景 8
1.4.4  面向日常辦公的桌面應用場景 8
1.4.5  雲計算、區塊鏈、大數據、深度學習等應用場景 8
1.5  本章小結 9
習題1 9
第 2章  圖形界面基礎 10
2.1  圖形界面概述 11
2.1.1  X Window System 11
2.1.2  KDE和GNOME 11
2.1.3  Unity桌面環境 12
2.2  Ubuntu操作系統安裝 12
2.2.1  下載最新版本的Ubuntu鏡像文件 12
2.2.2  安裝Ubuntu 12
2.3  Ubuntu圖形界面基礎 19
2.3.1  桌面環境概述 19
2.3.2  常見應用程序 19
2.3.3  系統基本設置 22
2.4  本章小結 22
習題2 22
第3章  Linux操作系統命令行基礎 23
3.1  Linux Shell概述 24
3.1.1  Shell簡介 24
3.1.2  Bash簡介 24
3.2  打開Linux操作系統命令行界面 25
3.3  命令行界面簡介 25
3.3.1  Linux操作系統命令提示符 25
3.3.2  使用終端仿真器執行Linux命令 25
3.3.3  使用root權限 26
3.4  Shell的基本用法 27
3.4.1  Linux命令語法格式 27
3.4.2  命令自動補全 28
3.4.3  強制中斷命令運行 29
3.4.4  命令歷史記錄 29
3.5  Shell高階技巧 32
3.5.1  管道 32
3.5.2  重定向 33
3.5.3  命令排列 35
3.5.4  命令續行 36
3.5.5  命令替換 36
3.5.6  命令別名 37
3.6  Linux命令行幫助系統 38
3.6.1  使用man命令獲取幫助 38
3.6.2  使用info命令獲取幫助 38
3.6.3  使用--help選項獲取幫助 39
3.7  本章小結 39
習題3 40
【第二部分】系統管理篇
第4章  文件和目錄管理 42
4.1  Linux文件基礎 43
4.2  Linux文件類型 43
4.3  Linux目錄基礎 45
4.4  文件操作命令 45
4.4.1  創建空文件命令touch 45
4.4.2  文件複製命令cp 47
4.4.3  文件鏈接命令ln 49
4.4.4  文件移動命令mv 50
4.4.5  文件刪除命令rm 53
4.5  目錄操作命令 55
4.5.1  顯示當前路徑命令pwd 55
4.5.2  改變工作目錄命令cd 55
4.5.3  列出目錄內容命令ls 56
4.5.4  創建目錄命令mkdir 57
4.5.5  刪除目錄命令rmdir 59
4.6  本章小結 61
習題4 61
第5章  用戶和組管理 62
5.1  用戶賬戶基礎 63
5.1.1  Linux用戶賬戶 63
5.1.2  Ubuntu用戶賬戶 63
5.2  用戶配置文件 64
5.2.1  /etc/passwd文件 64
5.2.2  /etc/shadow文件 65
5.3  用戶賬戶管理命令 65
5.3.1  新建用戶賬戶命令useradd和adduser 65
5.3.2  修改用戶賬戶命令passwd、
usermod和chage 70
5.3.3  刪除用戶賬戶命令userdel和deluser 75
5.4  組賬戶基礎 78
5.5  組賬戶配置文件 79
5.5.1  /etc/group文件 79
5.5.2  /etc/gshadow文件 79
5.6  組賬戶管理命令 80
5.6.1  創建組賬戶命令groupadd和addgroup 80
5.6.2  修改組賬戶屬性命令groupmod 84
5.6.3  刪除組賬戶 85
5.6.4  管理組賬戶命令gpasswd 87
5.7  本章小結 89
習題5 89
第6章  磁盤存儲管理 90
6.1  磁盤存儲管理概述 91
6.1.1  磁盤分區簡介 91
6.1.2  格式化簡介 91
6.2  Linux磁盤分區管理 91
6.2.1  磁盤及磁盤分區命名規則 91
6.2.2  磁盤分區管理命令fdisk 92
6.3  Linux文件系統管理 102
6.3.1  Linux支持的文件系統格式 102
6.3.2  創建文件系統命令mkfs 102
6.3.3  創建文件系統的其他工具 104
6.4  文件系統的掛載和卸載 105
6.4.1  掛載磁盤分區命令mount 105
6.4.2  卸載磁盤分區命令umount 107
6.5  文件系統檢查維護命令 109
6.5.1  文件系統的檢查和修復命令fsck 109
6.5.2  查看磁盤使用情況命令df 110
6.5.3  查看文件和目錄的磁盤使用情況命令du 112
6.6  本章小結 114
習題6 114
第7章  進程管理 115
7.1  Linux進程概述 116
7.1.1  進程的概念 116
7.1.2  程序和進程 116
7.1.3  進程的狀態 116
7.1.4  進程的分類 116
7.1.5  進程優先級 116
7.2  進程狀態監測 117
7.2.1  靜態監控:查看當前進程狀態的命令ps 117
7.2.2  動態監控:持續監測進程運行狀態的命令top 120
7.2.3  查看進程樹命令pstree 121
7.2.4  列出進程打開文件信息的命令lsof 124
7.3  進程狀態控制 126
7.3.1  調整進程優先級的命令nice 126
7.3.2  改變運行進程優先級的命令renice 129
7.3.3  向進程發送信號的命令kill 130
7.3.4  通過名字殺死進程的命令killall 132
7.4  進程啟動與作業控制 134
7.4.1  進程的啟動 135
7.4.2  進程的掛起 135
7.4.3  使用jobs命令顯示任務狀態 136
7.4.4  使用fg命令將任務移至前台 137
7.4.5  使用bg命令將任務移至後台 137
7.4.6  使用nohup命令啟動脫離終端運行的任務 138
7.5  本章小結 140
習題7 140
第8章  軟件包管理 141
8.1  Linux軟件包管理概述 142
8.1.1  軟件包管理簡史 142
8.1.2  Linux操作系統中的軟件安裝方式 142
8.1.3  軟件包管理工具 142
8.2  apt 143
8.2.1  apt概述 143
8.2.2  配置apt源 143
8.2.3  apt命令基本用法 144
8.2.4  apt命令操作實例 145
8.3  使用二進制包安裝程序 148
8.3.1  適用場景 148
8.3.2  應用實例 148
8.4  使用源代碼安裝程序 152
8.4.1  基本流程 153
8.4.2  應用實例 153
8.5  本章小結 157
習題8 157
【第三部分】Linux操作系統開發篇
第9章  Shell編程 160
9.1  Shell編程概述 161
9.1.1  什麼是Shell腳本 161
9.1.2  Shell編程基本步驟 161
9.1.3  Shell入門實例 161
9.1.4  運行Shell腳本的幾種方法 162
9.2 Shell變量 163
9.2.1 變量定義和訪問 163
9.2.2 變量類型 165
9.2.3 變量值輸出 167
9.2.4 變量值輸入 168
9.2.5 數組 169
9.3 表達式 170
9.3.1 算術表達式 170
9.3.2  邏輯表達式 170
9.4  Shell控制結構 172
9.4.1  分支結構:if語句 172
9.4.2  分支結構:case語句 175
9.4.3  循環結構:for語句 176
9.4.4  循環結構:while語句和until語句 179
9.5  Shell函數 180
9.5.1  函數的定義 180
9.5.2  函數調用與參數傳遞 181
9.5.3 函數的返回值 182
9.6  Shell進階 183
9.6.1 數值比較運算符 183
9.6.2 邏輯運算符 185
9.6.3 字符串檢測和比較運算符 187
9.6.4 文件測試運算符 188
9.7  本章小結 190
習題9 191
第 10章  Linux C編程 192
10.1  概述 193
10.2  gcc編譯 193
10.2.1  gcc編譯器 193
10.2.2  gcc命令基本用法 194
10.2.3  gcc使用實例 195
10.3  gdb調試 200
10.3.1  gdb常用內部命令 200
10.3.2  gdb使用實例 201
10.4  make編譯 205
10.4.1  make和Makefile概述 205
10.4.2  Makefile語法基礎 205
10.4.3  Makefile文件實例:基礎版 206
10.4.4  make編譯的基本步驟 207
10.4.5  Makefile文件實例:進階版 208
10.4.6  make命令綜合實例 208
10.5  Makefile文件自動生成技術 211
10.6  autotools和make綜合應用 212
10.7  本章小結 216
習題10 216
【第四部分】前沿應用篇
第 11章  區塊鏈 218
11.1  區塊鏈概述 219
11.1.1  區塊鏈的基本含義 219
11.1.2  區塊鏈的分類 219
11.2  區塊鏈基礎環境準備 220
11.2.1  下載Go語言包 220
11.2.2  安裝配置Go語言環境 221
11.3  安裝區塊鏈開發平台 222
11.3.1  添加ppa安裝源 222
11.3.2  更新軟件包信息 223
11.3.3  安裝ethereum 223
11.4  部署區塊鏈項目 223
11.4.1  添加區塊鏈賬戶 224
11.4.2  部署區塊鏈項目的具體步驟 225
11.4.3  創建工作目錄 230
11.4.4  初始化區塊鏈項目 230
11.5  運行維護區塊鏈項目 231
11.5.1  運行維護實例概述 231
11.5.2  啟動區塊鏈項目交互界面 231
11.5.3  區塊鏈項目的運行與維護 231
11.5.4  區塊鏈平台進程監測 233
11.5.5  區塊鏈平台日誌監測 234
11.6  代表性的區塊鏈應用實例 234
11.7  本章小結 235
習題11 235
第 12章  大數據 236
12.1  大數據概述 237
12.2  大數據核心技術介紹 237
12.2.1  Hadoop 237
12.2.2  HDFS 237
12.2.3  MapReduce 237
12.3  大數據基礎環境準備 238
12.3.1  更新軟件包信息238
12.3.2  安裝配置Java環境 238
12.3.3  安裝配置SSH 240
12.4  安裝大數據開發平台 241
12.4.1  下載Hadoop安裝包 241
12.4.2  安裝配置Hadoop環境 242
12.4.3  Hadoop的運行模式 244
12.5  單機模式下的大數據項目實例 244
12.5.1  新建工程目錄 244
12.5.2  準備數據文件 244
12.5.3  配置環境變量 245
12.5.4  瀏覽Hadoop實例 245
12.5.5  測試Hadoop實例 246
12.5.6  查看測試效果 246
12.6  偽分佈式模式下的大數據項目實例 247
12.6.1  修改core-site.xml 248
12.6.2  修改hdfs-site.xml 249
12.6.3  NameNode初始化 249
12.6.4  啟動Hadoop 250
12.6.5  查看啟動的Hadoop進程 251
12.6.6  運行Hadoop偽分佈式實例 252
12.6.7  關閉Hadoop 257
12.6.8  再次啟動hadoop 257
12.7  本章小結 258
習題12 258
第 13章  人工智能 259
13.1  基礎環境準備 260
13.1.1  概述 260
13.1.2  安裝Anaconda 260
13.1.3  conda基本用法 262
13.2  機器學習開發環境配置 264
13.2.1  機器學習概述 264
13.2.2  Scikit-learn的安裝 264
13.2.3  測試安裝是否成功 264
13.2.4  更新或者卸載Scikit-learn 265
13.3  機器學習應用實例 265
13.3.1  實例概述 265
13.3.2  環境準備 266
13.3.3  實例詳解 266
13.4  深度學習開發環境配置 267
13.4.1  深度學習概述 267
13.4.2  TensorFlow簡介 268
13.4.3  安裝TensorFlow 268
13.4.4  測試是否安裝成功 268
13.5  深度學習應用實例 269
13.5.1  實例概述 269
13.5.2  實例詳解 269
13.5  本章小結 272
習題13 272


作者介紹


張平:
湖南工商大學計算機與信息工程學院“雙師型”教師,博士,副教授,碩士研究生導師;主持湖南省教改項目等科研/教研項目多項,在CCF推薦的期刊上發表SCI論文若干篇;理論功底紮實、實踐經驗頗豐。




相關書籍

Optimized C++: Proven Techniques for Heightened Performance (Paperback)

作者 Kurt Guntheroth

2021-09-01

C 語言教學手冊, 4/e

作者 洪維恩

2021-09-01

Learn Enough Developer Tools to Be Dangerous: Command Line, Text Editor, and Git Version Control Essentials

作者 Hartl Michael

2021-09-01