Linux Shell 編程從入門到精通, 2/e
張昊 程國鋼
買這商品的人也買了...
-
名題精選百則 ─ 技巧篇, 3/e$650$618 -
$403shell 腳本實戰, 2/e (Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and Unix Systems, 2/e) -
分散式系統設計 (Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services)$480$379 -
動手做深度強化學習 (Deep Reinforcement Learning Hands-On)$690$345 -
$414零基礎快速入行入職軟件測試工程師 -
特徵工程不再難:資料科學新手也能輕鬆搞定! (Feature Engineering Made Easy: Identify unique features from your dataset in order to build powerful machine learning systems)$520$406 -
機器學習|特徵工程 (Feature Engineering for Machine Learning)$520$411 -
Visual C# 2019 全面攻略:從程式新人到開發設計的快速學習$620$484 -
$607Linux 命令行與 Shell 腳本編程 -
最新 Python 基礎必修課 (含 ITS Python 國際認證模擬試題)$450$356 -
掌握分佈式跟蹤:微服務和復雜系統性能分析$864$821 -
Linux Shell 程式設計與管理實務 [第三版]【暢銷回饋版】$680$530 -
軟體架構指標|改善架構品質的案例研究 (Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture)$580$458 -
超簡單 Python / MicroPython 物聯網應用:堆積木寫程式輕鬆學習軟硬體整合, 2/e$720$562 -
密碼管理系統理論與實作:使用 Python 的 Crypto、Tkinter 與 Django 套件$650$507 -
深入淺出 SSD:固態存儲核心技術、原理與實戰, 2/e$774$735 -
Python 程式設計與 OpenAI API 應用:零基礎建構非同步 GUI 的 AI聊天機器人$600$468 -
eBPF 雲端原生安全:原理與實務$594$564 -
機器學習 : 最強入門邁向 AI 高手 王者歸來$1,080$853 -
比有線還快 - Wi-Fi 7 標準技術原理應用指南$880$695 -
你的第一本 Git 與 GitHub 入門書:輕鬆實作本機與遠端儲存庫的版本控制$620$434 -
$473Wi-Fi 7 入門到應用 -
深度學習詳解|台大李宏毅老師機器學習課程精粹$750$593 -
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
史上最完整 -- 一本書晉升深度學習世界級大師$1,280$1,011
相關主題
商品描述
本書由淺入深、循序漸進地詳細講解了LinuxShell編程的基本知識。這些基本知識包括Shell編程的基本知識、文本處理的工具和方法、正則表達式、Linux系統知識等。
本書旨在通過理清Linux Shell編程的脈絡,從基本概念著手,以豐富、實用的範例作為輔助,使讀者能夠深入淺出的學習LinuxShell編程。
本書的每一章節都配有綜合案例,這些綜合案例不僅可以使讀者復習前面所學的知識,還可以增加開發項目的經驗。這些案例實用性很強,許多代碼可以直接應用到Linux系統管理中。
本書配有全程錄像的視頻講解光盤,讀者可以將視頻和書結合起來學習,可以更快、更好地掌握Linux Shell編程技術。
本書適合於Linux Shell編程的初學者,有一定LinuxShell編程基礎,但還需要進一步提高的人閱讀。本書對於有一定編程經驗的程序員也有很好的參考價值。
作者簡介
張昊,畢業於南京大學理學院,南京大學開源愛好者組織創始人、南京Linux 使用者組織(NJLUG) 創始人,曾經任職於千橡互動從事底層引擎的開發,編寫《Linux Shell編程從入門到精通》。
程國鋼,北京航空航天大學博士,有豐富的教學科研技術經驗,開設單片機教學課程,承擔過基於嵌入式的國家863級課題、院級別和國家氣象局項目,有多本圖書編寫經驗。
目錄大綱
第1章初識Shell程序
1.1第一道菜
1.2如何運行程序
1.2.1選婿:位於第一行的#!
1.2.2找茬:程序執行的差異
1.2. 3 shell的命令種類
1.3 Linux Shell的變量
1.3.1變量
1.3.2用echo輸出變量
1.3.3環境變量的相關操作
1.3.4 shell中一些常用環境變量
1. 4 Linux Shell是解釋型語言
1.4.1編譯型語言與解釋型語言
1.4.2 Linux Shell編程的優勢
1.5小結
第2章Shell編程基礎
2.1向腳本傳遞參數
2.1. 1 Shell腳本的參數
2.1.2參數的用途
2.2 I/O重定向
2.2.1標準輸入、標準輸出與標準錯誤
2.2.2管道與重定向
2.2.3文件描述符
2.2.4特殊文件的妙用
2.3基本文本檢索
2.4 UNIX/Linux系統的設計與shell編程
2.4.1一切皆文件
2.4.2 UNIX編程的基本原則
2.5小結
第3章編程的基本元素
3.1再識變量
3.1.1用戶變量
3.1.2位置變量
3.1.3環境變量
3.1.4啟動文件
3.2函數
3.2.1函數定義
3.2.2函數的參數和返回值
3.3條件控制與流程控制
3.3.1 if/else語句
3.3.2退出狀態
3.3.3退出狀態與邏輯操作
3.3.4條件測試
3.4循環控制
3.4.1 for循環
3.4.2 while/until循環
3.4.3跳出循環
3.4.4循環實例
3.5小結
第4章正則表達式
4.1什麼是正則表達式
4.1.1正則表達式的廣泛應用
4.1.2如何學習正則表達式
4.1.3如何實踐正則表達式
4.2正則基礎
4.2.1元字符
4.2.2單個字符
4.2.3單個表達式匹配多個字符
4.2.4文本匹配錨點
4.2.5運算符優先級
4.2.6更多差異
4.3正則表達式的應用
4.3. 1擴展
4.3.2案例研究:羅馬數字
4.3.3案例研究:解析電話號碼
4.4小結
第5章基本文本處理
5.1排序文本
5.1.1 sort命令的行排序
5.1. 2 sort命令的字段排序
5.1.3 sort小結
5.2文本去重
5.3統計文本行數、字數以及字符數
5.4打印和格式化輸出
5.4.1使用pr打印文件
5. 4.2使用fmt命令格式化文本
5.4.3使用fold限製文本寬度
5.5提取文本開頭和結尾
5.6字段處理
5.6.1字段的使用案例
5.6.2使用cut取出字段
5.6.3使用join連接字段
5.6.4其他字段處理方法
5.7文本替換
5.7.1使用tr替換字符
5.7.2其他選擇
5.8一個稍微複雜的例子
5.8 .1實例描述
5.8.2取出記錄的ip字段和id字段
5.8.3將記錄按照IP順序排序
5.8.4使用uniq統計重複IP
5.8.5根據訪問次數進行排序
5. 8.6提取出現次數最多的100條
5.9小結
第6章文件和文件系統
6.1文件
6.1.1列出文件
6.1.2文件的類型
6.1.3文件的權限
6.1.4文件的修改時間
6.2尋找文件
6 .2.1 find命令的參數
6.2.2遍歷文件
6.3比較文件
6.3.1使用comm比較排序後文件
6.3.2使用diff比較文件
6.3.3其他文本比較方法
6 .4文件系統
6.4.1什麼是文件系統
6.4.2文件系統與磁盤分區
6.4.3 Linux分區格式的選擇與安全性
6.4.4文件系統與目錄樹
6.4. 5文件系統的創建與掛載
6.5小結
第7章流編輯
7.1什麼是sed
7.1.1挑選編輯器
7.1.2 sed的版本
7.2 sed示例
7.2.1 sed的工作方式
7.2.2 sed工作的地址範圍
7.2.3規則表達式
7.3更強大的sed功能
7.3.1替換
7.3.2地址範圍的迷惑
7.4組合命令
7 .4.1組合多條命令
7.4.2將多條命令應用到一個地址範圍
7.5實際的例子
7.6 sed實踐
7.6.1第一步替換名字
7.6.2第二步刪除前3行
7.6 .3第三步顯示5~10行
7.6.4第四步刪除包含Lane的行
7.6.5第五步顯示生日在November-December之間的行
7.6.6第六步把3個星號(***)添加到以Fred開頭的行
7.6.7第七步用JOSE HASRETIRED取代包含Jose的行
7.6.8第八步把Popeye的生日改成11/14/ 46
7.6.9第九步刪除所有空白行
7.6.10第十步腳本
7.7小結
第8章文本處理利器awk
8.1來個案例
8.2基本語法
8.2.1多個字段
8.2.2使用其他字段分隔符
8.3 AWK語言特性
8.3.1 AWK代碼結構
8.3.2變量與數組
8.3.3算術運算和運算符
8.3.4判斷與循環
8.3.5多條記錄
8.4用戶自定義函數
8.4.1自定義函數格式
8.4.2引用傳遞和值傳遞
8.4.3遞歸調用
8.5字符串與算術處理
8.5.1格式化輸出
8.5.2字符串函數
8.5.3算術函數
8.6案例分析
8.6.1生成數據報表
8.6.2多文件聯合處理
8.6.3檢驗passwd格式的正確性
8.6.4 sed/awk單行腳本
8.7小結
第9章進程
9.1進程的含義與查看
9.1.1理解進程
9.1 .2創建進程
9.1.3查看進程
9.1.4進程的屬性
9.2進程管理
9.2.1進程的狀態
9.2.2 shell命令的執行
9.2.3進程與任務調度
9.3信號
9.3.1信號的基本概念
9.3.2產生信號
9.4 Linux的第一個進程init
9.5案例分析:Linux系統中管道的實現
9.6調度系統任務
9. 6.1任務調度的基本介紹
9.6.2調度重複性系統任務(cron)
9.6.3使用at命令
9.7進程的窗口/proc
9.7.1 proc——虛擬文件系統
9. 7.2查看/proc的文件
9.7.3從proc獲取信息
9.7.4通過/proc與內核交互
9.8 Linux的線程簡介
9.8.1 Linux線程的定義
9.8.2 Pthread線程的使用場合
9.8. 3 Linux進程和線程的發展
9.9小結
第10章超級工具
10.1不同的shell
10.1.1修改登錄shell和切換shell
10.1.2選擇shell
10.2 SSH
10.2.1 SSH的安全驗證機制
10.2.2使用SSH登錄遠程主機
10.2.3 OpenSSH密鑰管理
10.2.4配置SSH
10.2.5使用SSH工具套裝拷貝文件
10.3 screen工具
10.3. 1任務退出的元兇:SIGHUP信號
10.3.2開始使用screen
10.3.3 screen常用選項
10.3.4實例:ssh+screen管理遠程會話
10.4文本編輯工具Vim
10.4.1為什麼選擇Vim
10.4.2從何處獲取Vim
10.4.3 Vim的工作模式
10.4.4首次接觸:step by step
10.4.5鼠標的移動
10.4.6基本編輯指令
10.4.7複製(yank)
10.4.8搜尋、替換
10.5小結
第11章Linux


