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

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

《Linux命令行與shell腳本編程大全(第3版)》是關於Linux命令行和shell命令的全面參考資料,涵蓋詳盡的動手教程和實際套用指南,並提供相關參考信息和背景資料,帶你從Linux命令行基礎入手,直到寫出自己的shell。

圖書簡介

《Linux命令行與shell腳本編程大全(第3版)》是關於Linux命令行和shell命令的全面參考資料,涵蓋詳盡的動手教程和實際套用指南,並提供相關參考信息和背景資料,帶你從Linux命令行基礎入手,直到寫出自己的shell。

《Linux命令行與shell腳本編程大全(第3版)》是一本關於Linux命令行與shell腳本編程的全方位教程,主要包括四大部分:Linux命令行,shell腳本編程基礎,高級shell腳本編程,如何創建實用的shell腳本。

《Linux命令行與shell腳本編程大全(第3版)》針對Linux系統的新特性進行了全面更新,不僅涵蓋了詳盡的動手教程和現實世界中的實用信息,還提供了與所學內容相關的參考信息和背景資料。

通過《Linux命令行與shell腳本編程大全(第3版)》的學習,你將輕鬆寫出自己的shell腳本。

目錄

第一部分Linux命令行

第1章 初識Linux shell2

1.1什麼是Linux2

1.1.1深入探究Linux核心3

1.1.2GNU工具6

1.1.3Linux桌面環境8

1.2Linux發行版12

1.2.1核心Linux發行版13

1.2.2特定用途的Linux發行版13

1.2.3Linux LiveCD14

1.3小結15

第2章 走進shell16

2.1進入命令行16

2.1.1控制台終端17

2.1.2圖形化終端17

2.2通過Linux控制台終端訪問CLI18

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

2.4使用GNOME Terminal仿真器21

2.4.1訪問GNOME Terminal21

2.4.2選單欄22

2.5使用Konsole Terminal仿真器25

2.5.1訪問Konsole Terminal25

2.5.2選單欄26

2.6使用xterm終端仿真器29

2.6.1訪問xterm30

2.6.2命令行參數30

2.7小結32

第3章 基本的bash shell命令33

3.1啟動shell33

3.2shell提示符34

3.3bash手冊34

3.4瀏覽檔案系統37

3.4.1Linux檔案系統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章 理解shell86

5.1shell的類型86

5.2shell的父子關係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登錄shell115

6.6.2互動式shell進程119

6.6.3非互動式shell120

6.6.4環境變數持久化121

6.7數組變數121

6.8小結122

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

7.1Linux的安全性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.2Linux中的LVM155

8.3.3使用Linux LVM156

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.5aptitude倉庫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.6yum軟體倉庫176

9.4從源碼安裝177

9.5小結180

第10章 使用編輯器181

10.1vim編輯器181

10.1.1檢查vim軟體包181

10.1.2vim基礎183

10.1.3編輯數據185

10.1.4複製和貼上185

10.1.5查找和替換186

10.2nano編輯器187

10.3emacs編輯器188

10.3.1檢查emacs軟體包189

10.3.2在控制台中使用emacs190

10.3.3在GUI環境中使用emacs195

10.4KDE系編輯器196

10.4.1KWrite編輯器196

10.4.2Kate編輯器200

10.5GNOME編輯器202

10.5.1啟動gedit203

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.1expr命令223

11.7.2使用方括弧224

11.7.3浮點解決方案225

11.8退出腳本228

11.8.1查看退出狀態碼228

11.8.2exit命令229

11.9小結231

第12章 使用結構化命令232

12.1使用if-then語句232

12.2if-then-else語句235

12.3嵌套if235

12.4test命令238

12.4.1數值比較240

12.4.2字元串比較242

12.4.3檔案比較246

12.5複合條件測試254

12.6if-then的高級特性255

12.6.1使用雙括弧255

12.6.2使用雙方括弧256

12.7case命令257

12.8小結258

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

13.1for命令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.2C語言風格的for命令268

13.2.1C語言的for命令268

13.2.2使用多個變數269

13.3while命令270

13.3.1while的基本格式270

13.3.2使用多個測試命令271

13.4until命令272

13.5嵌套循環274

13.6循環處理檔案數據276

13.7控制循環277

13.7.1break命令277

13.7.2continue命令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使用更高級的getopts302

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.1nice命令345

16.5.2renice命令346

16.6定時運行作業346

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

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

16.6.3使用新shell啟動腳本352

16.7小結353

第三部分 高級shell腳本編程

第17章 創建函式356

17.1基本的腳本函式356

17.1.1創建函式357

17.1.2使用函式357

17.2返回值359

17.2.1默認退出狀態碼359

17.2.2使用return命令360

17.2.3使用函式輸出361

17.3在函式中使用變數362

17.3.1向函式傳遞參數362

17.3.2在函式中處理變數364

17.4數組變數和函式366

17.4.1向函式傳數組參數366

17.4.2從函式返回數組368

17.5函式遞歸369

17.6創建庫370

17.7在命令行上使用函式371

17.7.1在命令行上創建函式372

17.7.2在.bashrc檔案中定義函式372

17.8實例374

17.8.1下載及安裝374

17.8.2構建庫374

17.8.3shtool庫函式376

17.8.4使用庫376

17.9小結377

第18章 圖形化桌面環境中的腳本編程378

18.1創建文本選單378

18.1.1創建選單布局379

18.1.2創建選單函式380

18.1.3添加選單邏輯380

18.1.4整合shell腳本選單381

18.1.5使用select命令382

18.2製作視窗384

18.2.1dialog包384

18.2.2dialog選項389

18.2.3在腳本中使用dialog命令391

18.3使用圖形393

18.3.1KDE環境393

18.3.2GNOME環境396

18.4小結400

第19章 初識sed和gawk401

19.1文本處理401

19.1.1sed編輯器401

19.1.2gawk程式404

19.2sed編輯器基礎410

19.2.1更多的替換選項410

19.2.2使用地址411

19.2.3刪除行414

19.2.4插入和附加文本415

19.2.5修改行417

19.2.6轉換命令418

19.2.7回顧列印419

19.2.8使用sed處理檔案421

19.3小結423

第20章 正則表達式424

20.1什麼是正則表達式424

20.1.1定義424

20.1.2正則表達式的類型425

20.2定義BRE模式426

20.2.1純文本426

20.2.2特殊字元427

20.2.3錨字元428

20.2.4點號字元430

20.2.5字元組430

20.2.6排除型字元組432

20.2.7區間433

20.2.8特殊的字元組434

20.2.9星號434

20.3擴展正則表達式436

20.3.1問號436

20.3.2加號437

20.3.3使用花括弧437

20.3.4管道符號438

20.3.5表達式分組439

20.4正則表達式實戰439

20.4.1目錄檔案計數440

20.4.2驗證電話號碼441

20.4.3解析郵件地址443

20.5小結444

第21章sed進階445

21.1多行命令445

21.1.1next命令446

21.1.2多行刪除命令449

21.1.3多行列印命令449

21.2保持空間450

21.3排除命令451

21.4改變流454

21.4.1分支454

21.4.2測試455

21.5模式替代456

21.5.1&符號457

21.5.2替代單獨的單詞457

21.6在腳本中使用sed458

21.6.1使用包裝腳本458

21.6.2重定向sed的輸出459

21.7創建sed實用工具460

21.7.1加倍行間距460

21.7.2對可能含有空白行的檔案加倍行間距460

21.7.3給檔案中的行編號461

21.7.4列印末尾行462

21.7.5刪除行463

21.7.6刪除HTML標籤466

21.8小結467

第22章gawk進階469

22.1使用變數469

22.1.1內建變數469

22.1.2自定義變數474

22.2處理數組476

22.2.1定義數組變數476

22.2.2遍歷數組變數477

22.2.3刪除數組變數478

22.3使用模式478

22.3.1正則表達式478

22.3.2匹配操作符479

22.3.3數學表達式480

22.4結構化命令480

22.4.1if語句480

22.4.2while語句482

22.4.3do-while語句483

22.4.4for語句484

22.5格式化列印484

22.6內建函式487

22.6.1數學函式487

22.6.2字元串函式488

22.6.3時間函式490

22.7自定義函式490

22.7.1定義函式490

22.7.2使用自定義函式491

22.7.3創建函式館491

22.8實例492

22.9小結493

第23章 使用其他shell495

23.1什麼是dash shell495

23.2dash shell的特性496

23.2.1dash命令行參數496

23.2.2dash環境變數497

23.2.3dash內建命令499

23.3dash腳本編程500

23.3.1創建dash腳本500

23.3.2不能使用的功能500

23.4zsh shell502

23.5zsh shell的組成503

23.5.1shell選項503

23.5.2內建命令504

23.6zsh腳本編程508

23.6.1數學運算508

23.6.2結構化命令509

23.6.3函式510

23.7小結510

第四部分 創建實用的腳本

第24章 編寫簡單的腳本實用工具514

24.1歸檔514

24.2管理用戶賬戶523

24.2.1需要的功能523

24.2.2創建腳本530

24.2.3運行腳本535

24.3監測磁碟空間537

24.3.1需要的功能537

24.3.2創建腳本540

24.3.3運行腳本541

24.4小結542

第25章 創建與資料庫、Web及電子郵件相關的腳本543

25.1MySQL資料庫543

25.1.1使用MySQL543

25.1.2在腳本中使用資料庫552

25.2使用Web555

25.2.1安裝Lynx556

25.2.2lynx命令行557

25.2.3Lynx配置檔案558

25.2.4從Lynx中獲取數據559

25.3使用電子郵件561

25.4小結564

第26章 一些小有意思的腳本565

26.1傳送訊息565

26.1.1功能分析565

26.1.2創建腳本568

26.2獲取格言573

26.2.1功能分析574

26.2.2創建腳本577

26.3編造藉口583

26.3.1功能分析583

26.3.2創建腳本586

26.4小結587

附錄Abash命令快速指南589

附錄Bsed和gawk快速指南597

相關詞條

熱門詞條

聯絡我們