內容簡介
《Linux Shell腳本攻略》是LinuxShell編程的實戰秘籍。它集合了眾多適合於實戰的命令行腳本攻略,並輔以大量案例以及細緻的講解。《LinuxShell腳本攻略》的讀者不僅包括Shell編程的新手,也包括那些對這一領域相當熟悉的專業人士。對新手而言,《Linux Shell腳本攻略》的內容由淺入深且緊貼實踐,使得他們能夠快速地學以致用,而專業人士也能從《Linux Shell腳本攻略》中發現一些新鮮的東西,使自己的技巧更加純熟。
編輯推薦
《Linux Shell腳本攻略》:天才程式設計師的獨門攻略:準備,動手,一舉成功!,針對1 10多個真實問題,展示令人難以置信的高超解法,化繁為簡,幾行腳本完成複雜任務 。
《Linux Shell腳本攻略》通過細緻剖析實際套用中的110多個案例。使許多看似複雜的Linux shell腳本任務迎刃而解。
作者在Linux shell腳本方面的經驗,使他能夠以一種相當清晰且友好的方式有效地分享他的知識。《Linux Shell腳本攻略》會幫助讀者利用少量命令的組合完成諸如文本處理、檔案管理、備份等複雜的數據管理工作。
《Linux Shell腳本攻略》將告訴你如何:
利用shell命令快速開發常規任務;
綜合套用grep、find、sed和awk等常用命令;
憑藉短短几個命令行從Web挖掘數據的shell腳本;
利用歸檔工具運行並自動化各種任務,諸如自動備份和存儲;
理解檔案系統、檔案類型以及檔案管理;
用shell創建以及維護檔案或目錄歸檔、壓縮格式和加密技術;
通過srlell腳本設定乙太網和無線LAN;
使用登錄技術監控網路上的各種動態;
直截了當而便於套用的寫作風格,常見任務和問題的精挑細選,針對問題而精心組織的高效解法,對實際操作的細緻分析,對擴展解決方案的深入探討。
作者簡介
作者:(印度)拉克什曼 (Sarath Lakshman) 譯者:門佳
Sarath Lakshman,年輕的Linux天才程式設計師、開源軟體及GNU/Linux活躍分子,寫作本書時年僅20歲。他在印度出生並成長,目前是印度科欽科技大學模範工程學院的學生。2004年,他就開發了名為Slynux的GNU/Linux發布版。另外,他還為Linux Foryou月刊撰寫文章。在Fedora、Pardus Linux、PiTiVi、Ubuntu以及Google Summerof Code等項目中,他都作出了顯著的貢獻。
門佳,Unux/Unixshell、PerI、正則表達式愛好者。2001年開始接觸Linux,並喜歡上了這個系統,從此發現了另一個不同的世界。同時對網路協定分析、Web技術以及社會心理學也頗有興趣。除此之外。還是一位輕度宅男、豆瓣控。
目錄
第1章 小試牛刀
1.1 簡介
1.2 終端列印
1.2.1 實戰演練
1.2.2 補充內容
1.3 玩轉變數和環境變數
1.3.1 預備知識
1.3.2 實戰演練
1.3.3 補充內容
1.4 通過shell進行數學運算
1.4.1 預備知識
1.4.2 實戰演練
1.5 玩轉檔案描述符和重定向
1.5.1 預備知識
1.5.2 實戰演練
1.5.3 補充內容
1.6 數組和關聯數組
1.6.1 預備知識
1.6.2 實戰演練
1.6.3 補充內容
1.7 使用別名
1.7.1 預備知識
1.7.2 實戰演練
1.7.3 補充內容
1.8 獲取終端信息
1.8.1 預備知識
1.8.2 實戰演練
1.9 獲取、設定日期和延時
1.9.1 預備知識
1.9.2 實戰演練
1.9.3 補充內容
1.10 調試腳本
1.10.1 預備知識
1.10.2 實戰演練
1.10.3 補充內容
1.11 函式和參數
1.11.1 實戰演練
1.11.2 補充內容
1.12 讀取命令序列輸出
1.12.1 預備知識
1.12.2 實戰演練
1.12.3 補充內容
1.13 以不按回車鍵的方式讀取字元“n”
1.13.1 預備知識
1.13.2 實戰演練
1.14 欄位分隔設定和疊代器
1.14.1 預備知識
1.14.2 實戰演練
1.15 比較與測試
1.15.1 預備知識
1.15.2 實戰演練
第2章 命令之樂
2.1 簡介
2.2 用cat進行拼接
2.2.1 預備知識
2.2.2 實戰演練
2.2.3 工作原理
2.2.4 補充內容
2.3 錄製與回放終端會話
2.3.1 預備知識
2.3.2 實戰演練
2.3.3 工作原理
2.4 檔案查找與檔案列表
2.4.1 預備知識
2.4.2 實戰演練
2.4.3 補充內容
2.5 玩轉xargs
2.5.1 預備知識
2.5.2 實戰演練
2.5.3 工作原理
2.5.4 補充內容
2.6 用tr進行轉換
2.6.1 預備知識
2.6.2 實戰演練
2.6.3 工作原理
2.6.4 補充內容
2.7 校驗和與核實
2.7.1 預備知識
2.7.2 實戰演練
2.7.3 工作原理
2.7.4 補充內容
2.8 排序、單一與重複
2.8.1 預備知識
2.8.2 實戰演練
2.8.3 工作原理
2.8.4 補充內容
2.9 臨時檔案命名與隨機數
2.9.1 實戰演練
2.9.2 工作原理
2.10 分割檔案和數據
2.10.1 工作原理
2.10.2 補充內容
2.11 根據擴展名切分檔案名稱
2.11.1 實戰演練
2.11.2 工作原理
2.12 批量重命名和移動
2.12.1 預備知識
2.12.2 實戰演練
2.12.3 工作原理
2.13 拼寫檢查與詞典操作
2.13.1 實戰演練
2.13.2 工作原理
2.14 互動輸入自動化
2.14.1 預備知識
2.14.2 實戰演練
2.14.3 工作原理
2.14.4 補充內容
第3章 以檔案之名
3.1 簡介
3.2 生成任意大小的檔案
3.3 文本檔案的交集與差集
3.3.1 預備知識
3.3.2 實戰演練
3.4 查找並刪除重複檔案
3.4.1 預備知識
3.4.2 實戰演練
3.4.3 工作原理
3.4.4 參考
3.5 創建長路徑目錄
3.5.1 預備知識
3.5.2 實戰演練
3.6 檔案許可權、所有權和粘滯位
3.6.1 預備知識
3.6.2 實戰演練
3.6.3 補充內容
3.7 創建不可修改檔案
3.7.1 預備知識
3.7.2 實戰演練
3.8 批量生成空白檔案
3.8.1 預備知識
3.8.2 實戰演練
3.9 查找符號連結及其指向目標
3.9.1 預備知識
3.9.2 實戰演練
3.10 列舉檔案類型統計信息
3.10.1 預備知識
3.10.2 實戰演練
3.10.3 工作原理
3.11 環回檔案與掛載
3.11.1 預備知識
3.11.2 實戰演練
3.11.3 補充內容
3.12 生成ISO檔案及混合ISO
3.12.1 預備知識
3.12.2 實戰演練
3.12.3 補充內容
3.13 查找檔案差異並進行修補
3.13.1 實戰演練
3.13.2 補充內容
3.14 head與tail——列印檔案的前10行和後10行
3.15 只列出目錄的其他方法
3.15.1 預備知識
3.15.2 實戰演練
3.16 在命令行中用pushd和popd快速定位
3.16.1 預備知識
3.16.2 實戰演練
3.16.3 補充內容
3.17 統計檔案的行數、單詞數和字元數
3.17.1 預備知識
3.17.2 實戰演練
3.17.3 補充知識
3.18 列印目錄樹
3.18.1 預備知識
3.18.2 實戰演練
3.18.3 補充內容
第4章 讓文本飛
4.1 簡介
4.2 正則表達式入門
4.2.1 預備知識
4.2.2 實戰演練
4.2.3 工作原理
4.2.4 補充內容
4.3 用grep在檔案中搜尋文本
4.3.1 預備知識
4.3.2 實戰演練
4.3.3 補充內容
4.4 用cut按列切分檔案
4.4.1 預備知識
4.4.2 實戰演練
4.4.3 補充內容
4.5 統計特定檔案中的詞頻
4.5.1 預備知識
4.5.2 實戰演練
4.5.3 工作原理
4.5.4 參考
4.6 sed入門
4.6.1 實戰演練
4.6.2 補充內容
4.7 awk入門
4.7.1 實戰演練
4.7.2 工作原理
4.7.3 補充內容
4.8 替換文本或檔案中的字元串
4.8.1 預備知識
4.8.2 實戰演練
4.8.3 補充內容
4.8.4 參考
4.9 壓縮或解壓縮JavaScript
4.9.1 預備知識
4.9.2 工作原理
4.9.3 工作原理
4.9.4 參考
4.10 對檔案中的行、單詞和字元進行疊代
4.10.1 預備知識
4.10.2 實戰演練
4.10.3 工作原理
4.10.4 參考
4.11 按列合併檔案
4.11.1 工作原理
4.11.2 參考
4.12 列印檔案或行中的第n個單詞或列
4.12.1 預備知識
4.12.2 實戰演練
4.12.3 參考
4.13 列印不同行或樣式之間的文本
4.13.1 預備知識
4.13.2 實戰演練
4.13.3 參考
4.14 用腳本檢驗回文字元串
4.14.1 預備知識
4.14.2 工作原理
4.14.3 工作原理
4.14.4 補充內容
4.14.5 參考
4.15 以逆序形式列印行
4.15.1 預備知識
4.15.2 實戰演練
4.15.3 工作原理
4.15.4 參考
4.16 解析文本中的電子郵件地址和URL
4.16.1 預備知識
4.16.2 實戰演練
4.16.3 工作原理
4.16.4 參考
4.17 列印檔案中某個樣式之前或之後的n行
4.17.1 預備知識
4.17.2 實戰演練
4.17.3 參考
4.18 在檔案中移除包含某個單詞的句子
4.18.1 預備知識
4.18.2 實戰演練
4.18.3 工作原理
4.18.4 參考
4.19 用awk實現head、tail和tac
4.19.1 預備知識
4.19.2 實戰演練
4.19.3 工作原理
4.19.4 參考
4.20 文本切片與參數操作
4.20.1 實戰演練
4.20.2 參考
第5章 一團亂麻?沒這回事
5.1 入門
5.2 網站下載
5.2.1 預備知識
5.2.2 實戰演練
5.2.3 補充內容
5.3 以格式化純文本形式下載網頁
5.4 cURL入門
5.4.1 預備知識
5.4.2 實戰演練
5.4.3 補充內容
5.4.4 參考
5.5 從命令行訪問Gmail
5.5.1 實戰演練
5.5.2 工作原理
5.5.3 參考
5.6 解析網站數據
5.6.1 實戰演練
5.6.2 工作原理
5.6.3 參考
5.7 製作圖片抓取器及下載工具
5.7.1 實戰演練
5.7.2 工作原理
5.7.3 參考
5.8 網頁相冊生成器
5.8.1 預備知識
5.8.2 實戰演練
5.8.3 工作原理
5.8.4 參考
5.9 Twitter命令行客戶端
5.9.1 預備知識
5.9.2 實戰演練
5.9.3 工作原理
5.9.4 參考
5.10 基於Web後端的定義查詢工具
5.10.1 預備知識
5.10.2 實戰演練
5.10.3 工作原理
5.10.4 參考
5.11 查找網站中的無效連結
5.11.1 預備知識
5.11.2 實戰演練
5.11.3 工作原理
5.11.4 參考
5.12 跟蹤網站變更
5.12.1 預備知識
5.12.2 實戰演練
5.12.3 工作原理
5.12.4 參考
5.13 以POST方式傳送網頁並讀取回響
5.13.1 預備知識
5.13.2 實戰演練
5.13.3 補充內容
5.13.4 參考
第6章 B計畫
6.1 簡介
6.2 用tar歸檔
6.2.1 預備知識
6.2.2 實戰演練
6.2.3 補充知識
6.2.4 參考
6.3 用cpio歸檔
6.4 用gunzip或gzip壓縮
6.4.1 實戰演練
6.4.2 補充內容
6.4.3 參考
6.5 用bunzip或bzip壓縮
6.5.1 實戰演練
6.5.2 補充內容
6.5.3 參考
6.6 用lzma壓縮
6.6.1 實戰演練
6.6.2 補充內容
6.6.3 參考
6.7 用zip歸檔和壓縮
6.8 超高壓縮率的squashfs檔案系統
6.8.1 預備知識
6.8.2 實戰演練
6.8.3 補充內容
6.9 加密工具與散列
6.10 用raync備份系統快照
6.10.1 實戰演練
6.10.2 補充內容
6.11 用Git備份版本控制
6.11.1 預備知識
6.11.2 實戰演練
6.12 用dd克隆磁碟
6.12.1 預備知識
6.12.2 實戰演練
6.12.3 補充內容
6.12.4 參考
第7章 無網不利
7.1 簡介
7.2 聯網知識入門
7.2.1 新手上路
7.2.2 實戰演練
7.2.3 補充內容
7.2.4 參考
7.3 使用ping
7.3.1 實戰演練
7.3.2 補充內容
7.4 列出網路上所有的活動主機
7.4.1 新手上路
7.4.2 實戰演練
7.4.3 工作原理
7.4.4 補充內容
7.4.5 參考
7.5 傳輸檔案
7.5.1 新手上路
7.5.2 實戰演練
7.5.3 補充內容
7.5.4 參考
7.6 用腳本設定乙太網與無線LAN
7.6.1 新手上路
7.6.2 實戰演練
7.6.3 工作原理
7.6.4 參考
7.7 用SSH實現無密碼自動登錄
7.8 用SSH在遠程主機上運行命令
7.8.1 新手上路
7.8.2 實戰演練
7.8.3 補充內容
7.8.4 參考
7.9 在本地掛載點上掛載遠程驅動器
7.9.1 新手上路
7.9.2 實戰演練
7.9.3 參考
7.10 在網路上傳送多播式視窗訊息
7.10.1 新手上路
7.10.2 實戰演練
7.10.3 工作原理
7.10.4 參考
7.11 網路流量與連線埠分析
7.11.1 新手上路
7.11.2 實戰演練
7.11.3 補充內容
第8章 當個好管家
8.1 簡介
8.2 統計磁碟的使用情況
8.2.1 新手上路
8.2.2 實戰演練
8.2.3 補充內容
8.3 計算命令執行時間
8.4 與當前登錄用戶、啟動日誌及啟動故障的相關信息
8.4.1 新手上路
8.4.2 實戰演練
8.5 列印出10條最常使用的命令
8.5.1 新手上路
8.5.2 實戰演練
8.5.3 工作原理
8.6 列出1小時內占用CPU最多的10個進程
8.6.1 新手上路
8.6.2 實戰演練
8.6.3 工作原理
8.6.4 參考
8.7 用watch監視命令輸出
8.7.1 實戰演練
8.7.2 補充內容
8.8 對檔案及目錄訪問進行記錄
8.8.1 新手上路
8.8.2 實戰演練
8.8.3 工作原理
8.9 用logrotate管理日誌檔案
8.9.1 新手上路
8.9.2 實戰演練
8.10 用syslog記錄日誌
8.10.1 新手上路
8.10.2 實戰演練
8.10.3 參考
8.11 通過監視用戶登錄找出入侵者
8.11.1 新手上路
8.11.2 實戰演練
8.11.3 工作原理
8.12 監視遠程磁碟的健康情況
8.12.1 新手上路
8.12.2 實戰演練
8.12.3 工作原理
8.12.4 參考
8.13 找出系統中用戶的活動時段
8.13.1 新手上路
8.13.2 實戰演練
8.13.3 工作原理
第9章 管理重任
9.1 簡介
9.2 收集進程信息
9.2.1 新手上路
9.2.2 實戰演練
9.2.3 補充內容
9.2.4 參考
9.3 殺死進程以及傳送或回響信號
9.3.1 新手上路
9.3.2 實戰演練
9.3.3 補充內容
9.4 which、whereis、file、whatis與平均負載
9.5 向用戶終端傳送訊息
9.5.1 新手上路
9.5.2 實戰演練
9.5.3 工作原理
9.6 收集系統信息
9.7 用/proc收集信息
9.8 用cron進行調度
9.8.1 新手上路
9.8.2 實戰演練
9.8.3 補充內容
9.9 從Bash中讀寫MySQL資料庫
9.9.1 新手上路
9.9.2 實戰演練
9.9.3 工作原理
9.10 用戶管理腳本
9.10.1 實戰演練
9.10.2 工作原理
9.11 圖像檔案的批量縮放及格式轉換
9.11.1 新手上路
9.11.2 實戰演練
9.11.3 工作原理
9.11.4 參考