本書結(jié)合豐富的實際案例介紹了如何利用 shell 命令快速開發(fā)常規(guī)任務,如何憑借短短幾個命令行從 Web 挖掘數(shù)據(jù)的 shell 腳本,如何通過 shell 腳本設置以太網(wǎng)和無線LAN,以及如何利用少量命令的組合完成諸如文本處理、文件管理、備份等復雜的數(shù)據(jù)管理工作等。
【書籍目錄】
第 1 章 小試牛刀
1.1 簡介
1.2 終端打印
1.3 玩轉(zhuǎn)變量和環(huán)境變量
1.4 使用函數(shù)添加環(huán)境變量
1.5 使用 shell 進行數(shù)學運算
1.6 玩轉(zhuǎn)文件描述符及重定向
1.7 數(shù)組和關(guān)聯(lián)數(shù)組
1.8 使用別名
1.9 獲取終端信息
1.10 獲取、設置日期和延時
1.11 調(diào)試腳本
1.12 函數(shù)和參數(shù)
1.13 將命令序列的輸出讀入變量
1.14 不使用回車鍵來讀取 n 個字符
1.15 運行命令直至執(zhí)行成功
1.16 字段分隔符和迭代器
1.17 比較與測試
第 2 章 命令之樂
2.1 簡介
2.2 用 cat 進行拼接
2.3 錄制并回放終端會話
2.4 文件查找與文件列表
2.5 玩轉(zhuǎn) xargs
2.6 用 tr 進行轉(zhuǎn)換
2.7 校驗和與核實
2.8 加密工具與散列
2.9 排序、唯一與重復
2.10 臨時文件命名與隨機數(shù)
2.11 分割文件和數(shù)據(jù)
2.12 根據(jù)擴展名切分文件名
2.13 批量重命名和移動
2.14 拼寫檢查與詞典操作
2.15 交互輸入自動化
2.16 利用并行進程加速命令執(zhí)行
第 3 章 以文件之名
3.1 簡介
3.2 生成任意大小的文件
3.3 文本文件的交集與差集
3.4 查找并刪除重復文件
3.5 文件權(quán)限、所有權(quán)和粘滯位
3.6 創(chuàng)建不可修改的文件
3.7 批量生成空白文件
3.8 查找符號鏈接及其指向目標
3.9 列舉文件類型統(tǒng)計信息
3.10 使用環(huán)回文件
3.11 生成 ISO 文件及混合型 ISO
3.12 查找文件差異并進行修補
3.13 使用 head 與 tail 打印文件的前 10 行和后 10 行
3.14 只列出目錄的各種方法
3.15 在命令行中使用 pushd 和 popd 進 行快速定位
3.16 統(tǒng)計文件的行數(shù)、單詞數(shù)和字符數(shù)
3.17 打印目錄樹
第 4 章 讓文本飛
4.1 簡介
4.2 使用正則表達式
4.3 用 grep 在文件中搜索文本
4.4 用 cut 按列切分文件
4.5 使用 sed 進行文本替換
4.6 使用 awk 進行高級文本處理
4.7 統(tǒng)計特定文件中的詞頻
4.8 壓縮或解壓縮 JavaScript
4.9 按列合并多個文件
4.10 打印文件或行中的第 n 個單詞或列
4.11 打印行或樣式之間的文本
4.12 以逆序形式打印行
4.13 解析文本中的電子郵件地址和 URL
4.14 在文件中移除包含某個單詞的句子
4.15 對目錄中的所有文件進行文本替換
4.16 文本切片及參數(shù)操作
第 5 章 一團亂麻?沒這回事
5.1 入門
5.2 Web 頁面下載
5.3 以純文本形式下載網(wǎng)頁
5.4 cURL 入門
5.5 從命令行訪問 Gmail
5.6 解析網(wǎng)站數(shù)據(jù)
5.7 圖片抓取器及下載工具
5.8 網(wǎng)頁相冊生成器
5.9 Twitter 命令行客戶端
5.10 基于 Web 后端的定義查詢工具
5.11 查找網(wǎng)站中的無效鏈接
5.12 跟蹤網(wǎng)站變動
5.13 以 POST 方式發(fā)送網(wǎng)頁并讀取響應
第 6 章 B 計劃
6.1 簡介
6.2 用 tar 歸檔
6.3 用 cpio 歸檔
6.4 使用 gzip 壓縮數(shù)據(jù)
6.5 用 zip 歸檔和壓縮
6.6 更快速的歸檔工具 pbzip2
6.7 創(chuàng)建壓縮文件系統(tǒng)
6.8 使用 rsync 備份系統(tǒng)快照
6.9 用 Git 進行基于版本控制的備份
6.10 用 fsarchiver 創(chuàng)建全盤鏡像
第 7 章 無網(wǎng)不利
7.1 簡介
7.2 網(wǎng)絡設置
7.3 使用 ping
7.4 列出網(wǎng)絡上所有的活動主機
7.5 使用 SSH 在遠程主機上運行命令
7.6 通過網(wǎng)絡傳輸文件
7.7 連接無線網(wǎng)絡
7.8 用 SSH 實現(xiàn)無密碼自動登錄
7.9 使用 SSH 進行端口轉(zhuǎn)發(fā)
7.10 在本地掛載點上掛載遠程驅(qū)動器
7.11 網(wǎng)絡流量與端口分析
7.12 創(chuàng)建套接字
7.13 互聯(lián)網(wǎng)連接共享
7.14 使用 iptables 架設簡易防火墻
第 8 章 當個好管家
8.1 簡介
8.2 監(jiān)視磁盤使用情況
8.3 計算命令執(zhí)行時間
8.4 收集與當前登錄用戶、啟動日志及啟動故障的相關(guān)信息
8.5 列出 1 小時內(nèi)占用 CPU 最多的 10 個進程
8.6 使用 watch 監(jiān)視命令輸出
8.7 記錄文件及目錄訪問
8.8 用 logrotate 管理日志文件
8.9 用 syslog 記錄日志
8.10 通過監(jiān)視用戶登錄找出入侵者
8.11 監(jiān)視遠程磁盤的健康情況
8.12 找出系統(tǒng)中用戶的活躍時段
8.13 電源使用的測量與優(yōu)化
8.14 監(jiān)視磁盤活動
8.15 檢查磁盤及文件系統(tǒng)錯誤
第 9 章 管理重任
9.1 簡介
9.2 收集進程信息
9.3 殺死進程以及發(fā)送或響應信號
9.4 向用戶終端發(fā)送消息
9.5 采集系統(tǒng)信息
9.6 使用 proc 采集信息
9.7 用 cron 進行調(diào)度
9.8 從 Bash 中讀寫 MySQL 數(shù)據(jù)庫
9.9 用戶管理腳本
9.10 圖像文件的縮放及格式轉(zhuǎn)換
9.11 從終端截圖
9.12 管理多個終端