《信息科學(xué)與技術(shù)叢書:實(shí)用LinuxShell編程》系統(tǒng)地介紹了在Linux系統(tǒng)中廣泛使用的Bash腳本語(yǔ)言。全書內(nèi)容的安排由淺入深,體系合理。先講解腳本的概念和學(xué)習(xí)環(huán)境的搭建,接下來(lái)介紹Linux的常用命令,然后根據(jù)概念之間的依賴關(guān)系,講解Bash環(huán)境設(shè)置、變量與數(shù)組、條件流程控制、循環(huán)、函數(shù)、正則表達(dá)式、文本處理、進(jìn)程與作業(yè)、高級(jí)話題等。本書是一本不可多得的shell編程原創(chuàng)讀物。
★強(qiáng)調(diào)動(dòng)手動(dòng)腦,實(shí)踐與理論并重。
★不同難度的示例,適合各層次的讀者。
第1章 概述
1.1 為什么要學(xué)習(xí)Linux shell腳本
1.2 什么是shell
1.3 什么是shell腳本
1.4 為什么要學(xué)習(xí)Bash
1.5 Bash學(xué)習(xí)環(huán)境的準(zhǔn)備
1.6 Linux命令格式簡(jiǎn)介
1.7 如何獲得Linux命令的幫助
第2章 Linux基礎(chǔ)知識(shí)與常用命令
2.1 Linux的文件與目錄結(jié)構(gòu)
2.2 查看文件清單命令ls
2.3 瀏覽文件命令cat、more、less、head和tail
2.4 文件統(tǒng)計(jì)命令wc
2.5 改變當(dāng)前工作目錄命令cd
2.6 創(chuàng)建目錄命令mkdir
2.7 復(fù)制命令cp
2.8 重命名或移動(dòng)命令mv
2.9 創(chuàng)建符號(hào)鏈接和硬鏈接命令ln
2.10 顯示當(dāng)前目錄命令pwd
2.11 產(chǎn)生空文件或者改變文件時(shí)間戳命令touch
2.12 查看賬戶名及其所屬組的命令whoami、id和groups
2.13 文件與目錄的權(quán)限
2.14 改變權(quán)限命令chmod
2.15 SUID與SGID以及粘滯位
2.16 文件時(shí)間的查看以及狀態(tài)改動(dòng)時(shí)間
2.17 刪除命令rm與rmdir
2.18 編輯文件命令vi
2.19 用于顯示的命令echo
2.20 查看文件類型命令file
2.21 顯示樹狀目錄信息命令tree
2.22 查找命令find
第3章 Bash內(nèi)置命令與環(huán)境簡(jiǎn)介
3.1 內(nèi)置命令與外部命令
3.2 認(rèn)識(shí)Bash環(huán)境
3.3 權(quán)限掩碼命令umask
3.4 source命令和點(diǎn)命令
3.5 編寫并運(yùn)行第一個(gè)腳本
3.6 命令解釋順序與命令類型的查詢
3.7 命令的退出狀態(tài)以及命令true和false
3.8 管道
3.9 輸入輸出重定向
3.10 exec命令與文件描述符
3.11 有關(guān)命令的進(jìn)一步討論
第4章 變量與數(shù)組
4.1 變量的定義與清除
4.2 字符串定義及單雙引號(hào)與大括號(hào)的使用
4.3 將命令執(zhí)行結(jié)果賦給變量——反引號(hào)與$()
4.4 鍵盤輸入變量值——內(nèi)置命令read
4.5 整型變量運(yùn)算
4.6 浮點(diǎn)運(yùn)算
4.7 定義只讀變量命令readonly和declare -r
4.8 定義整型變量命令declare -i
4.9 數(shù)組
4.10 關(guān)聯(lián)數(shù)組
4.11 導(dǎo)出變量命令export和declare -x
4.12 declare命令總結(jié)
4.13 環(huán)境變量與特殊變量
4.14 內(nèi)置變量
4.15 計(jì)算表達(dá)式值的命令expr
4.16 變量測(cè)試及其相應(yīng)的賦值
4.17 字符串操作
第5章 條件流程控制
5.1 條件判斷與test命令
5.2 條件測(cè)試結(jié)構(gòu)if
5.3 if-else結(jié)構(gòu)
5.4 if-elif結(jié)構(gòu)
5.5 分情況選擇處理——case命令
5.6 命令exit與if及case命令的配合
5.7 用here文檔與case命令生成菜單
5.8 null命令
第6章 循環(huán)
6.1 for循環(huán)
6.2 算術(shù)for循環(huán)
6.3 while循環(huán)
6.4 until循環(huán)
6.5 用break和continue控制循環(huán)
6.6 用命令shift控制循環(huán)
6.7 選擇命令select
6.8 循環(huán)命令與I/O重定向及管道的配合
6.9 腳本的選項(xiàng)與參數(shù)
第7章 函數(shù)
7.1 函數(shù)定義
7.2 給函數(shù)傳遞參數(shù)
7.3 函數(shù)的局部與全局變量
7.4 當(dāng)前的函數(shù)名FUNCNAME
7.5 在命令行執(zhí)行函數(shù)
7.6 查看當(dāng)前shell的函數(shù)定義
7.7 選項(xiàng)-f與函數(shù)的導(dǎo)出、清除與只讀設(shè)置
7.8 返回命令return
7.9 遞歸函數(shù)
第8章 正則表達(dá)式與文本處理
8.1 文件名替換
8.2 正則表達(dá)式與grep
8.3 剪取內(nèi)容命令cut
8.4 合并相應(yīng)行的命令paste
8.5 轉(zhuǎn)換或刪除字符命令tr
8.6 排序命令sort
8.7 流編輯器sed
8.8 文本處理工具awk
8.9 格式化打印命令printf
第9章 進(jìn)程與作業(yè)
9.1 查看進(jìn)程命令ps
9.2 掛起進(jìn)程Ctrl+Z鍵
9.3 前臺(tái)fg與后臺(tái)bg
9.4 發(fā)送信號(hào)命令kill
9.5 等待命令wait
9.6 捕獲信號(hào)命令trap
9.7 移除作業(yè)的命令disown
9.8 暫停shell的命令suspend
第10章 雜項(xiàng)與高級(jí)實(shí)例
10.1 二次掃描命令eval
10.2 目錄棧操作命令pushd、popd與dirs
10.3 波浪號(hào)擴(kuò)展
10.4 (非)登錄及(非)交互shell
10.5 Bash shell選項(xiàng)
10.6 用命令set設(shè)置shell
10.7 用命令shopt設(shè)置shell
10.8 終端行設(shè)置命令stty
10.9 不在腳本和函數(shù)內(nèi)使用別名
10.10 Bash調(diào)試
10.11 并行命令parallel
10.12 模擬旋轉(zhuǎn)型進(jìn)度指示
10.13 刪除文件空行
10.14 完善while-shift循環(huán)