第一行代碼 Linux命令行
內容描述
掌握Linux命令行操作,不僅是輕松駕馭Linux系統的基礎,還是開展Python數據分析、數據庫管理、後端開發等工作的基本功。
本書是專門為命令行初學者打造的學習手冊,註重趣味性、實用性,邏輯清晰、圖文並茂。書中總結了大量命令行表格與核心知識點,以方便大家快速掌握Linux命令行的使用方法。本書結合豐富的代碼示例,詳細地講解瞭如何通過簡單、方便的命令行操作解決實際問題,提升工作效率。書中內容主要分為兩部分,共8章,包括命令行環境搭建、文件系統及其管理、應用和包管理、命令行及shell強化、文本處理、數據分析、Vim文本編輯、進程管理和工作空間組織。
本書面向從其他平臺過渡到Linux的新用戶、初級Linux系統管理員、Linux系統愛好者,以及對數據分析和開源技術感興趣的讀者。
目錄大綱
第 1章 開闢鴻蒙:從零搭建命令行環境 1
1.1 搭建系統方案選擇 1
1.2 製作Linux體驗盤 2
1.3 啟動Linux體驗系統 6
1.4 驗證硬件兼容性 8
1.5 安裝並啟動正式的Linux系統 11
1.6 系統初始配置 12
1.6.1 更新系統應用 13
1.6.2 安裝中文輸入法 17
1.6.3 備份系統 21
1.7 其他搭建方案 24
1.7.1 在Windows上運行Linux命令行應用 24
1.7.2 在虛擬機中運行Linux系統 26
1.8 小結 27
第 2章 腳踏實地:文件系統及其管理 29
2.1 文件樹和目錄跳轉 29
2.2 權限系統 35
2.3 查看文件信息 38
2.4 創建文件和目錄 43
2.5 複製和更改文件和目錄 46
2.6 刪除文件和目錄 48
2.7 文件系統核心概念和常用命令一覽 50
2.7.1 文件系統核心概念 50
2.7.2 常用文件管理命令 51
2.8 小結 51
第3章 調兵遣將:應用和包管理 53
3.1 應用和包管理的由來 53
3.2 系統包管理工具:apt和dpkg 56
3.2.1 查看已安裝應用及其狀態 57
3.2.2 查找並安裝應用 59
3.2.3 更新應用 62
3.2.4 卸載應用 63
3.2.5 使用dpkg管理應用 64
3.3 跨平台包管理工具 69
3.3.1 Homebrew 69
3.3.2 其他跨平台應用管理解決方案 73
3.4 管理可執行文件 75
3.4.1 自製可執行腳本 75
3.4.2 把可執行文件變成應用 78
3.5 管理手動編譯的應用 82
3.6 基於語言的包管理 87
3.6.1 插件—版本架構 88
3.6.2 asdf的基本使用方法 88
3.7 常用包管理命令一覽 94
3.7.1 apt 94
3.7.2 Homebrew 94
3.7.3 asdf 95
3.8 小結 95
第4章 王者歸來:命令行及shell強化 97
4.1 shell插件系統 98
4.2 定制命令提示符 100
4.3 目錄跳轉 106
4.3.1 路徑智能補全 106
4.3.2 省略cd 108
4.3.3 大小寫混合匹配 109
4.3.4 歷史目錄跳轉 109
4.3.5 模糊匹配跳轉 112
4.4 搜索文件和目錄 114
4.4.1 基本搜索技術 114
4.4.2 任意深度展開 116
4.4.3 路徑模糊匹配 118
4.5 智能輔助 119
4.5.1 歷史命令自動補全 120
4.5.2 歷史命令模糊匹配 121
4.5.3 語法高亮 123
4.5.4 智能安裝建議 123
4.6 別名機制 125
4.7 幫助文檔隨手查 128
4.7.1 應用信息查詢工具 128
4.7.2 實例演示工具 131
4.7.3 用戶手冊和幫助文檔 132
4.8 常用命令行增強工具一覽 133
4.9 小結 134
第5章 縱橫捭闔:文本瀏覽與處理 135
5.1 理解文本數據 135
5.2 文本瀏覽 137
5.3 文本搜索 140
5.3.1 常用文本搜索方法 140
5.3.2 增強型文本搜索工具 144
5.4 文本連接 148
5.4.1 行連接 148
5.4.2 列連接 150
5.5 文本轉換 152
5.5.1 字符替換和過濾 152
5.5.2 字符串替換 154
5.5.3 文本行轉換 161
5.5.4 文本列篩選 164
5.6 常用文本處理命令一覽 166
5.7 小結 167
第6章 點石成金:數據分析 168
6.1 數據格式和分析工具 169
6.2 生成樣例數據 171
6.3 數據概覽 172
6.4 數據抽樣和排序 177
6.5 數據篩選 181
6.5.1 對文本特徵的篩選 181
6.5.2 對數值特徵的篩選 183
6.6 數值計算 185
6.6.1 生成新特徵 185
6.6.2 數據匯總 187
6.7 分組匯總 189
6.8 其他工具 191
6.9 常用數據分析任務和實現命令一覽 191
6.10 小結 192
第7章 駕馭神器:Vim文本編輯 194
7.1 Vim內核:模式編輯 194
7.1.1 編輯區模式 195
7.1.2 命令模式 201
7.2 寄存器和宏 204
7.3 幫助系統 206
7.4 配置Vim 210
7.5 借助插件系統強化Vim功能 213
7.5.1 常用編輯功能擴展 216
7.5.2 管理Vim插件 219
7.5.3 在項目中使用Vim 219
7.6 模式編輯常用命令和鍵位圖 223
7.7 小結 225
第8章 運籌帷幄:進程管理和工作空間組織 227
8.1 進程管理 227
8.1.1 普通進程管理 227
8.1.2 服務管理 234
8.1.3 系統狀態監控 238
8.2 工作空間組織 244
8.2.1 TWP模型 244
8.2.2 基於tmux組織工作空間 246
8.3 常用進程和服務管理命令一覽 260
8.4 小結 261
附錄A 盲打指南 263
附錄B 推薦資源 266
後記:讓我們一起創造歷史 268
作者介紹
李超
算法工程師、北京理工大學博士,主要從事人工智能、機器學習算法的研究和開發工作。深度參與開源軟件的開發和維護,OpenEuler社區貢獻者。翻譯出版作品《精通Puppet配置管理工具(第2版)》《 Python函數式編程(第2版)》。
個人博客:http://leetschau.github.io/。感興趣的研究領域:函數式編程、DevOps、高性能計算、範疇論。喜愛的語言:Python、Haskell、F#、C++等。
王曉晨
某互聯網頭部企業算法工程師、電子科技大學碩士,主要從事人工智能、機器學習算法的研究和開發工作。對離散製造的派工優化、計算機視覺、自然語言處理、網絡安全等領域都有濃厚的學習興趣。