Linux命令行與shell腳本編程大全第3版

Linux命令行與shell腳本編程大全第3版

這是一本關於Linux命令行與shell腳本編程的全方位教程,主要包括四大部分:Linux命令行,shell腳本編程基礎,高級shell腳本編程,如何創建實用的shell腳本。本書針對Linux系統的最新特性進行了全面更新,不僅涵蓋了詳盡的動手教程和現實世界中的實用信息,還提供了與所學內容相關的參考信息和背景資料。通過本書的學習,你將輕鬆寫出自己的shell腳本。

圖書簡介

這是一本關於Linux命令行與shell腳本編程的全方位教程,主要包括四大部分:Linux命令行,shell腳本編程基礎,高級shell腳本編程,如何創建實用的shell腳本。本書針對Linux系統的新特性進行了全面更新,不僅涵蓋了詳盡的動手教程和現實世界中的實用信息,還提供了與所學內容相關的參考信息和背景資料。

圖書目錄

第一部分 Linux 命令行

第1 章 初識Linux shell 2

1.1 什麼是Linux 2

1.1.1 深入探究Linux 核心 3

1.1.2 GNU 工具 6

1.1.3 Linux 桌面環境 8

1.2 Linux 發行版 12

1.2.1 核心Linux 發行版 13

1.2.2 特定用途的Linux 發行版 13

1.2.3 Linux LiveCD 14

1.3 小結 15

第2 章 走進shell 16

2.1 進入命令行 16

2.1.1 控制台終端 17

2.1.2 圖形化終端 17

2.2 通過Linux 控制台終端訪問CLI 18

2.3 通過圖形化終端仿真訪問CLI 20

2.4 使用GNOME Terminal 仿真器 21

2.4.1 訪問GNOME Terminal 21

2.4.2 選單欄 22

2.5 使用Konsole Terminal 仿真器 25

2.5.1 訪問Konsole Terminal 25

2.5.2 選單欄 26

2.6 使用xterm 終端仿真器 29

2.6.1 訪問xterm 30

2.6.2 命令行參數 30

2.7 小結 32

第3 章 基本的bash shell 命令 33

3.1 啟動shell 33

3.2 shell 提示符 34

3.3 bash 手冊 34

3.4 瀏覽檔案系統 37

3.4.1 Linux 檔案系統 37

3.4.2 遍歷目錄 40

3.5 檔案和目錄列表 42

3.5.1 基本列表功能 42

3.5.2 顯示長列表 44

3.5.3 過濾輸出列表 45

3.6 處理檔案 46

3.6.1 創建檔案 47

3.6.2 複製檔案 47

3.6.3 製表鍵自動補全 50

3.6.4 連結檔案 50

3.6.5 重命名檔案 52

3.6.6 刪除檔案 54

3.7 處理目錄 55

3.7.1 創建目錄 55

3.7.2 刪除目錄 55

3.8 查看檔案內容 58

3.8.1 查看檔案類型 58

3.8.2 查看整個檔案 59

3.8.3 查看部分檔案 61

3.9 小結 63

第4 章 更多的bash shell 命令 64

4.1 監測程式 64

4.1.1 探查進程 64

4.1.2 實時監測進程 70

4.1.3 結束進程 72

4.2 監測磁碟空間 73

4.2.1 掛載存儲媒體 73

4.2.2 使用df 命令 76

4.2.3 使用du 命令 77

4.3 處理數據檔案 78

4.3.1 排序數據 78

4.3.2 搜尋數據 81

4.3.3 壓縮數據 83

4.3.4 歸檔數據 84

4.4 小結 85

第5 章 理解shell 86

5.1 shell 的類型 86

5.2 shell 的父子關係 88

5.2.1 進程列表 91

5.2.2 別出心裁的子shell 用法 93

5.3 理解shell 的內建命令 96

5.3.1 外部命令 96

5.3.2 內建命令 97

5.4 小結 101

第6 章 使用Linux 環境變數 103

6.1 什麼是環境變數 103

6.1.1 全局環境變數 104

6.1.2 局部環境變數 105

6.2 設定用戶定義變數 106

6.2.1 設定局部用戶定義變數 106

6.2.2 設定全局環境變數 107

6.3 刪除環境變數 109

6.4 默認的shell 環境變數 110

6.5 設定PATH 環境變數 113

6.6 定位系統環境變數 114

6.6.1 登錄shell 115

6.6.2 互動式shell 進程 119

6.6.3 非互動式shell 120

6.6.4 環境變數持久化 121

6.7 數組變數 121

6.8 小結 122

第7 章 理解Linux 檔案許可權 124

7.1 Linux 的安全性 124

7.1.1 /etc/passwd 檔案 124

7.1.2 /etc/shadow 檔案 126

7.1.3 添加新用戶 127

7.1.4 刪除用戶 129

7.1.5 修改用戶 130

7.2 使用Linux 組 132

7.2.1 /etc/group 檔案 133

7.2.2 創建新組 133

7.2.3 修改組 134

7.3 理解檔案許可權 135

7.3.1 使用檔案許可權符 135

7.3.2 默認檔案許可權 136

7.4 改變安全性設定 138

7.4.1 改變許可權 138

7.4.2 改變所屬關係 139

7.5 已分享檔案 140

7.6 小結 142

第8 章 管理檔案系統 143

8.1 探索Linux 檔案系統 143

8.1.1 基本的Linux 檔案系統 143

8.1.2 日誌檔案系統 145

8.1.3 寫時複製檔案系統 147

8.2 操作檔案系統 147

8.2.1 創建分區 147

8.2.2 創建檔案系統 151

8.2.3 檔案系統的檢查與修復 153

8.3 邏輯卷管理 154

8.3.1 邏輯卷管理布局 154

8.3.2 Linux 中的LVM 155

8.3.3 使用Linux LVM 156

8.4 小結 162

第9 章 安裝軟體程式 163

9.1 包管理基礎 163

9.2 基於Debian 的系統 164

9.2.1 用aptitude 管理軟體包 164

9.2.2 用aptitude 安裝軟體包 166

9.2.3 用aptitude 更新軟體 168

9.2.4 用aptitude 卸載軟體 169

9.2.5 aptitude 倉庫 169

9.3 基於Red Hat 的系統 171

9.3.1 列出已安裝包 171

9.3.2 用yum 安裝軟體 173

9.3.3 用yum 更新軟體 174

9.3.4 用yum 卸載軟體 174

9.3.5 處理損壞的包依賴關係 175

9.3.6 yum 軟體倉庫 176

9.4 從源碼安裝 177

9.5 小結 180

第10 章 使用編輯器 181

10.1 vim 編輯器 181

10.1.1 檢查vim 軟體包 181

10.1.2 vim 基礎 183

10.1.3 編輯數據 185

10.1.4 複製和貼上 185

10.1.5 查找和替換 186

10.2 nano 編輯器 187

10.3 emacs 編輯器 188

10.3.1 檢查emacs 軟體包 189

10.3.2 在控制台中使用emacs 190

10.3.3 在GUI 環境中使用emacs 195

10.4 KDE 系編輯器 196

10.4.1 KWrite 編輯器 196

10.4.2 Kate 編輯器 200

10.5 GNOME 編輯器 202

10.5.1 啟動gedit 203

10.5.2 基本的gedit 功能 203

10.5.3 設定偏好設定 204

10.6 小結 206

第二部分 shell 腳本編程基礎

第11 章 構建基本腳本 210

11.1 使用多個命令 210

11.2 創建shell 腳本檔案 211

11.3 顯示訊息 212

11.4 使用變數 214

11.4.1 環境變數 214

11.4.2 用戶變數 215

11.4.3 命令替換 216

11.5 重定向輸入和輸出 218

11.5.1 輸出重定向 218

11.5.2 輸入重定向 219

11.6 管道 220

11.7 執行數學運算 222

11.7.1 expr 命令 223

11.7.2 使用方括弧 224

11.7.3 浮點解決方案 225

11.8 退出腳本 228

11.8.1 查看退出狀態碼 228

11.8.2 exit 命令 229

11.9 小結 231

第12 章 使用結構化命令 232

12.1 使用if-then 語句 232

12.2 if-then-else 語句 235

12.3 嵌套if 235

12.4 test 命令 238

12.4.1 數值比較 240

12.4.2 字元串比較 242

12.4.3 檔案比較 246

12.5 複合條件測試 254

12.6 if-then 的高級特性 255

12.6.1 使用雙括弧 255

12.6.2 使用雙方括弧 256

12.7 case 命令 257

12.8 小結 258

第13 章 更多的結構化命令 260

13.1 for 命令 260

13.1.1 讀取列表中的值 261

13.1.2 讀取列表中的複雜值 262

13.1.3 從變數讀取列表 263

13.1.4 從命令讀取值 264

13.1.5 更改欄位分隔設定 265

13.1.6 用通配符讀取目錄 266

13.2 C 語言風格的for 命令 268

13.2.1 C 語言的for 命令 268

13.2.2 使用多個變數 269

13.3 while 命令 270

13.3.1 while 的基本格式 270

13.3.2 使用多個測試命令 271

13.4 until 命令 272

13.5 嵌套循環 274

13.6 循環處理檔案數據 276

13.7 控制循環 277

13.7.1 break 命令 277

13.7.2 continue 命令 280

13.8 處理循環的輸出 282

13.9 實例 283

13.9.1 查找執行檔 284

13.9.2 創建多個用戶賬戶 285

13.10 小結 286

第14 章 處理用戶輸入 287

14.1 命令行參數 287

14.1.1 讀取參數 287

14.1.2 讀取腳本名 289

14.1.3 測試參數 291

14.2 特殊參數變數 292

14.2.1 參數統計 292

14.2.2 抓取所有的數據 294

14.3 移動變數 295

14.4 處理選項 296

14.4.1 查找選項 297

14.4.2 使用getopt 命令 300

14.4.3 使用更高級的getopts 302

14.5 將選項標準化 305

14.6 獲得用戶輸入 306

14.6.1 基本的讀取 306

14.6.2 逾時 307

14.6.3 隱藏方式讀取 308

14.6.4 從檔案中讀取 309

14.7 小結 309

第15 章 呈現數據 311

15.1 理解輸入和輸出 311

15.1.1 標準檔案描述符 311

15.1.2 重定向錯誤 313

15.2 在腳本中重定向輸出 315

15.2.1 臨時重定向 315

15.2.2 永久重定向 316

15.3 在腳本中重定向輸入 317

15.4 創建自己的重定向 317

15.4.1 創建輸出檔案描述符 318

15.4.2 重定向檔案描述符 318

15.4.3 創建輸入檔案描述符 319

15.4.4 創建讀寫檔案描述符 320

15.4.5 關閉檔案描述符 321

15.5 列出打開的檔案描述符 322

15.6 阻止命令輸出 323

15.7 創建臨時檔案 324

15.7.1 創建本地臨時檔案 324

15.7.2 在/tmp 目錄創建臨時檔案 325

15.7.3 創建臨時目錄 326

15.8 記錄訊息 327

15.9 實例 328

15.10 小結 330

第16 章 控制腳本 331

16.1 處理信號 331

16.1.1 重溫Linux 信號 331

16.1.2 生成信號 332

16.1.3 捕獲信號 334

16.1.4 捕獲腳本退出 335

16.1.5 修改或移除捕獲 335

16.2 以後台模式運行腳本 338

16.2.1 後台運行腳本 338

16.2.2 運行多個後台作業 340

16.3 在非控制台下運行腳本 341

16.4 作業控制 342

16.4.1 查看作業 342

16.4.2 重啟停止的作業 344

16.5 調整謙讓度 345

16.5.1 nice 命令 345

16.5.2 renice 命令 346

16.6 定時運行作業 346

16.6.1 用at 命令來計畫執行作業 347

16.6.2 安排需要定期執行的腳本 349

16.6.3 使用新shell 啟動腳本 352

16.7 小結 353

相關詞條

熱門詞條

聯絡我們