目錄
第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 易于集成到任何自動化系統中 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 擔心自己的操作會把系統弄壞 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 使用互聯網的調查方法 61
第3章 Linux命令的世界
3.1 什么是Linux 66
3.2 為什么命令不是統一的 70
3.3 如何在不同的操作系統上執(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 統計行數 99
3.6.3 避免顯示內容滾動 100
3.7 用grep提高效率 102
3.7.1 提取包含指定詞語的行 102
3.7.2 統計包含指定詞語的行數 104
第4章 用Shell腳本處理無聊的工作
4.1 Shell腳本的編寫方法 108
4.1.1 shebang 110
4.1.2 注釋 111
4.1.3 權限 111
4.2 參數的用法 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 統計和計算功能 146
5.1.1 四則運算 146
5.1.2 統計交易額數據 148
5.2 處理日期和時間 151
5.2.1 查看日歷 151
5.2.2 天數計算 153
5.2.3 查看距離截止日期的天數 154
5.3 日常的文件操作 159
5.3.1 查找任意文件名的文件所在位置 159
5.3.2 查找包含任意文本的文件 161
5.3.3 統計文件的字數 161
5.3.4 替換文件中的內容 162
5.4 從互聯網獲取需要的信息 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