以“黑窗”為主要形態(tài)的命令行界面(CLI)或字符用戶界面(CUI),總是令初學者望而生畏。然而,在系統(tǒng)和軟件開發(fā)的實踐中,難免要在“黑窗”上通過輸入被稱為“命令”的字符串來操作。
本書以“黑窗上的命令操作”為主題,對比Windows和Linux兩種環(huán)境,通過命令提示符、PowerShell及基于WSL的終端模擬器,講解各種命令和Shell腳本的基礎知識和用法,探討如何利用命令將日常工作高效地組織起來,甚至用一行命令高效完成各種任務。
更多科學出版社服務,請掃碼獲取。
本科 空間物理學 2011年7月 北京大學
碩士研究生 空間物理學 2014年7月 北京大學
博士研究生 空間物理學 2019年7月 中國科學院大學2019-2022半比特科技(北京)有限公司,CTO
2022-中國科學院地理科學與資源研究所,項目經理地球空間信息科學,數(shù)字圖像處理,數(shù)據(jù)分析
目錄
第1章 “黑窗”和命令的本質
1.1 與“黑窗”相關的術語 4
1.1.1 終端模擬器 5
1.1.2 終端 6
1.2 “黑窗”的本質—Shell 9
1.3 為什么要用CLI 12
1.3.1 可以利用更少的資源進行操作 12
1.3.2 工作流程可以輕松記錄和共享 13
1.3.3 過去創(chuàng)建的內容照樣可以使用 14
1.3.4 易于集成到任何自動化系統(tǒng)中 15
1.4 “黑窗”操作實戰(zhàn)——啟動“記事本” 16
1.4.1 從Windows 11的GUI啟動 16
1.4.2 從命令提示符啟動 19
1.5 “黑窗”操作實戰(zhàn)——啟動“計算器” 22
1.5.1 從Windows 11的GUI啟動 22
1.5.2 從PowerShell啟動 23
第2章 “黑窗”進階實戰(zhàn)
2.1 “黑窗”令人害怕的原因 30
2.1.1 一開始對“未知技術”的恐懼 30
2.1.2 無法從顯示結果中獲得反饋 31
2.1.3 難以讀懂錯誤消息的含義 31
2.1.4 擔心自己的操作會把系統(tǒng)弄壞 32
2.1.5 擔心無法中止操作 35
2.2 使用命令執(zhí)行日常操作 37
2.2.1 關于命令提示符和PowerShell 37
2.2.2 下載示例文件 38
2.2.3 顯示時間 38
2.2.4 更改當前目錄 39
2.2.5 顯示文件列表 42
2.2.6 顯示文件內容 45
2.2.7 重命名文件 49
2.2.8 文件的追加和覆蓋 51
2.3 使用命令執(zhí)行日常操作 55
2.3.1 使用命令的調查方法 55
2.3.2 使用互聯(lián)網的調查方法 61
第3章 Linux命令的世界
3.1 什么是Linux 66
3.2 為什么命令不是統(tǒng)一的 70
3.3 如何在不同的操作系統(tǒng)上執(zhí)行相同操作 73
3.3.1 什么是POSIX 73
3.3.2 POSIX 規(guī)范以外的功能擴展 74
3.4 使用WSL 78
3.4.1 準備環(huán)境 78
3.4.2 通過WSL安裝Ubuntu 79
3.5 Linux命令使用實戰(zhàn) 88
3.5.1 執(zhí)行和命令提示符相同的操作 88
3.5.2 查找命令的方法 93
3.6 命令的連接 98
3.6.1 管道(pipe) 98
3.6.2 統(tǒng)計行數(shù) 99
3.6.3 避免顯示內容滾動 100
3.7 用grep提高效率 102
3.7.1 提取包含指定詞語的行 102
3.7.2 統(tǒng)計包含指定詞語的行數(shù) 104
第4章 用Shell腳本處理無聊的工作
4.1 Shell腳本的編寫方法 108
4.1.1 shebang 110
4.1.2 注釋 111
4.1.3 權限 111
4.2 參數(shù)的用法 115
4.3 調試方法 118
4.3.1 語法檢查 118
4.3.2 在執(zhí)行的同時顯示執(zhí)行內容 119
4.3.3 單步執(zhí)行 120
4.4 腳本不正常執(zhí)行的原因 122
4.4.1 英文字母的大小寫 122
4.4.2 字形容易混淆的字符 123
4.4.3 換行符 124
4.4.4 字符編碼 130
4.5 實際應用中的Shell腳本示例 136
4.5.1 連接多個服務器 136
4.5.2 檢查服務的運行狀況 139
第5章 使用一行命令高效完成任務
5.1 統(tǒng)計和計算功能 146
5.1.1 四則運算 146
5.1.2 統(tǒng)計交易額數(shù)據(jù) 148
5.2 處理日期和時間 151
5.2.1 查看日歷 151
5.2.2 天數(shù)計算 153
5.2.3 查看距離截止日期的天數(shù) 154
5.3 日常的文件操作 159
5.3.1 查找任意文件名的文件所在位置 159
5.3.2 查找包含任意文本的文件 161
5.3.3 統(tǒng)計文件的字數(shù) 161
5.3.4 替換文件中的內容 162
5.4 從互聯(lián)網獲取需要的信息 165
5.4.1 查看天氣預報 165
5.4.2 提取網頁中的鏈接 166
5.5 其他一些有用的技術 170
5.5.1 ZIP文件的壓縮和解壓 170
5.5.2 tar.gz等文件的壓縮和解壓 172
5.5.3 與Windows剪貼板交互 174
5.6 有利于實際開發(fā)的一些命令 175
5.6.1 ssh 命令 175
5.6.2 連接到遠程計算機時執(zhí)行單個命令并返回 176
5.6.3 遠程執(zhí)行本地Shell 腳本 177
5.6.4 以root權限執(zhí)行命令而無須輸入密碼 178
第6章 更好地與“黑窗”相處
6.1 令人措手不及的一些寫法 182
6.1.1 重定向到同一個文件 182
6.1.2 當心“遇到困難就chmod 777” 183
6.1.3 文件為什么自動消失了(/tmp 和/var/tmp) 187
6.2 盡量避免人為失誤 189
6.2.1 用rm 命令刪除文件后無法找回 189
6.2.2 復制- 粘貼命令出錯導致文件被更改 194
6.2.3 解壓ZIP 文件時,桌面多出大量文件 198
附錄A 無法使用WSL 時的替代方案 201
A.1 Cygwin 201
A.2 Git for Windows 202
A.3 MobaXterm 202
A.4 Busybox for Windows 202
附錄B 如何利用多個終端模擬器 203
B.1 啟動多個終端模擬器 203
B.2 選項卡 204
B.3 在終端中分欄 204
后記 207