呦呦鹿鳴處 書卷彙成川

聯繫我們:
《Linux命令行大全(第2版)》封面

Linux命令行大全(第2版)

文件格式: EPUB · MOBI · PDF · TXT

獲取下載鏈接

出版年份: 2021
ISBN: 9787115551436
豆瓣評分: 8.4

標籤

本書對Linux命令行進行詳細的介紹,全書內容包括4個部分,第一部分由Shell的介紹開啟命令行基礎知識的學習之旅;第二部分講述配置文件的編輯,如何通過命令行控制計算機;第三部分探討常見的任務與必備工具;第四部分全面介紹Shell編程,讀者可通過動手編寫Shell腳本掌握Linux命令的應用,從而實現常見計算任務的自動化。通過閱讀本書,讀者將對Linux命令有更加深入的理解,並且可以將其應用到實際的工作中。本書適合Linux初學人員、Linux系統管理人員及Linux愛好者閱讀。

部分 學習Shell
第1章 什麼是Shell 3
1.1 終端仿真器 3
1.2 小試牛刀 4
1.2.1 命令歷史 4
1.2.2 光標移動 4
1.3 幾個簡單的命令 5
1.4 結束終端會話 6
1.5 總結 6
第2章 導航 7
2.1 理解文件系統樹 7
2.2 當前工作目錄 8
2.3 列出目錄內容 8
2.4 更改當前工作目錄 9
2.4.1 路徑名 9
2.4.2 相對路徑名 9
2.4.3 一些有用的便捷寫法 11
2.5 總結 11
第3章 探索Linux系統 12
3.1 使用ls命令之樂 12
3.1.1 選項與參數 13
3.1.2 進一步瞭解長格式 14
3.2 使用file命令確定文件類型 15
3.3 使用less命令查看文本文件 15
3.4 按圖索驥 17
3.5 符號鏈接 19
3.6 硬鏈接 20
3.7 總結 20
第4章 操作文件和目錄 21
4.1 通配符 22
4.2 mkdir——創建目錄 24
4.3 cp——複製文件和目錄 24
4.4 mv——移動和重命名文件 25
4.5 rm——刪除文件和目錄 26
4.6 ln——創建硬鏈接和符號鏈接 27
4.6.1 硬鏈接 27
4.6.2 符號鏈接 28
4.7 實戰演練 28
4.7.1 創建目錄 28
4.7.2 複製文件 29
4.7.3 移動和重命名文件 29
4.7.4 創建硬鏈接 30
4.7.5 創建符號鏈接 31
4.7.6 刪除文件和目錄 32
4.8 總結 34
第5章 和命令打交道 35
5.1 命令究竟是什麼 35
5.2 識別命令 36
5.2.1 type—顯示命令類型 36
5.2.2 which—顯示可執行
文件的位置 36
5.3 獲取命令文檔 37
5.3.1 help—獲取Shell內建
命令的幫助信息 37
5.3.2 --help—顯示用法信息 38
5.3.3 man—顯示命令的
手冊頁 38
5.3.4 apropos—顯示適合的
命令清單 40
5.3.5 whatis—顯示手冊頁的
簡述 40
5.3.6 info—顯示程序的info
條目 41
5.3.7 文檔文件 42
5.4 使用alias創建自己的命令 42
5.5 總結 44
第6章 重定向 45
6.1 標準輸入、標準輸出及
標準錯誤 45
6.2 標準輸出重定向 46
6.3 標準錯誤重定向 47
6.3.1 將標準輸出和標準錯誤
重定向到同一個文件中 48
6.3.2 丟棄用不著的輸出結果 48
6.4 標準輸入重定向 49
6.5 管道 50
6.5.1 排序列表 51
6.5.2 uniq—報告或忽略
重複行 52
6.5.3 wc—統計文件中換行符、
單詞以及字節的數量 52
6.5.4 grep—輸出與模式
匹配的行 53
6.5.5 head/tail—輸出文件的
開頭/結尾部分 53
6.5.6 tee—讀取標準輸入
並將輸出結果寫入
標準輸出和文件 54
6.6 總結 55
第7章 “Shell眼”看世界 56
7.1 擴展 56
7.1.1 路徑名擴展 57
7.1.2 浪紋線擴展 58
7.1.3 算術擴展 59
7.1.4 花括號擴展 60
7.1.5 參數擴展 61
7.1.6 命令替換 61
7.2 引用 62
7.2.1 雙引號 62
7.2.2 單引號 64
7.2.3 轉義字符 64
7.2.4 反斜線轉義序列 65
7.3 總結 65
第8章 高級鍵盤技巧 66
8.1 編輯命令行 66
8.1.1 光標移動 67
8.1.2 修改文本 67
8.1.3 剪切和粘貼文本 67
8.2 補全功能 68
8.3 命令歷史記錄 70
8.3.1 搜索歷史記錄 70
8.3.2 歷史擴展 71
8.4 總結 72
第9章 權限 73
9.1 屬主、屬組以及其他用戶 74
9.2 讀取、寫入和執行 75
9.2.1 chmod—修改文件
模式 76
9.2.2 使用GUI設置文件模式 79
9.2.3 umask—設置默認權限 79
9.2.4 一些特殊的權限 80
9.3 改變用戶身份 81
9.3.1 su—以其他用戶身份
啟動Shell 82
9.3.2 sudo—以其他用戶身份
執行命令 83
9.3.3 chown—更改文件屬主和
屬組 84
9.3.4 chgrp—更改文件屬組 85
9.4 行使權限 85
9.5 修改密碼 87
9.6 總結 88
第10章 進程 89
10.1 進程的工作方式 90
10.2 查看進程 90
10.3 進程控制 94
10.3.1 中斷進程 94
10.3.2 將進程置於後臺 95
10.3.3 使進程返回前臺 95
10.3.4 停止進程 96
10.4 信號 96
10.4.1 使用kill命令向進程發送
信號 97
10.4.2 使用killall命令向多個
進程發送信號 98
10.5 關閉系統 99
10.6 更多與進程相關的命令 99
10.7 總結 100
第二部分 配置與環境
第11章 環境 103
11.1 環境中都保存了什麼 103
11.1.1 檢查環境 104
11.1.2 一些值得注意的環境
變量 105
11.2 如何建立環境 106
11.3 修改環境 108
11.3.1 應該修改哪些文件 108
11.3.2 文本編輯器 109
11.3.3 使用文本編輯器 109
11.3.4 使改動生效 112
11.4 總結 112
第12章 Vi入門 113
12.1 為什麼要學習Vi 113
12.2 背景知識 114
12.3 啟動和退出Vi 114
12.4 編輯模式 116
12.4.1 進入插入模式 116
12.4.2 保存文件 117
12.5 光標移動 117
12.6 基本編輯 118
12.6.1 追加 118
12.6.2 新建 119
12.6.3 刪除 120
12.6.4 剪切、複製及粘貼 121
12.6.5 合併 122
12.7 搜索和替換 122
12.7.1 行內搜索 122
12.7.2 搜索整個文件 122
12.7.3 全局搜索和替換 123
12.8 編輯多個文件 124
12.8.1 在文件之間切換 125
12.8.2 載入更多的文件進行
編輯 125
12.8.3 將一個文件的內容複製到
另一個文件 126
12.8.4 將整個文件插入另一個
文件 127
12.9 保存工作 128
12.10 總結 128
第13章 定製提示符 129
13.1 分解提示符 129
13.2 換一種提示符 131
13.3 增加顏色 132
13.4 移動光標 134
13.5 保存提示符 135
13.6 總結 135
第三部分 常見任務與工具
第14章 軟件包管理 139
14.1 打包系統 140
14.2 軟件包的工作方式 140
14.2.1 軟件包文件 140
14.2.2 倉庫 141
14.2.3 依賴性 141
14.2.4 低層和高層工具 141
14.3 常見的軟件包管理任務 142
14.3.1 在倉庫中查找軟件包 142
14.3.2 安裝倉庫中的軟件包 142
14.3.3 安裝軟件包文件中的
軟件包 142
14.3.4 刪除軟件包 143
14.3.5 通過倉庫更新軟件包 143
14.3.6 通過軟件包文件更新
軟件包 144
14.3.7 列舉已安裝的軟件包 144
14.3.8 確定軟件包是否已安裝 144
14.3.9 顯示已安裝軟件包的
相關信息 145
14.3.10 識別某個文件是哪個
軟件包安裝的 145
14.4 總結 145
第15章 存儲介質 147
15.1 存儲設備的掛載與卸載 148
15.1.1 查看已掛載的文件系統
列表 149
15.1.2 確定設備名稱 152
15.2 創建新文件系統 154
15.2.1 用fdisk操作分區 154
15.2.2 使用mkfs創建新的文件
系統 156
15.3 文件系統的檢查和修復 157
15.4 在設備之間直接移動數據 158
15.4.1 向可刻錄CD寫入數據 159
15.4.2 創建CD-ROM的ISO
映像文件 159
15.4.3 用文件集合創建ISO
映像文件 159
15.5 寫入CD-ROM的ISO映像
文件 160
15.5.1 直接掛載ISO映像
文件 160
15.5.2 擦除可刻錄CD 161
15.5.3 刻錄映像文件 161
15.6 總結 161
第16章 聯網 162
16.1 網絡檢查與監控 163
16.1.1 ping 163
16.1.2 traceroute 164
16.1.3 ip 165
16.1.4 netstat 165
16.2 通過網絡傳輸文件 166
16.2.1 ftp 167
16.2.2 lftp——更好的ftp 168
16.2.3 wget 168
16.3 與遠程主機的安全通信 169
16.3.1 ssh 169
16.3.2 scp與sftp 172
16.4 總結 173
第17章 查找文件 174
17.1 locate——簡單的文件查找
方法 174
17.2 find——複雜的文件查找
方法 176
17.2.1 測試條件 176
17.2.2 操作符 178
17.2.3 預定義操作 180
17.2.4 用戶自定義操作 182
17.2.5 提高效率 182
17.2.6 xargs 183
17.2.7 實戰演練 184
17.2.8 find命令選項 185
17.3 總結 186
第18章 歸檔與備份 187
18.1 壓縮文件 187
18.1.1 gzip 188
18.1.2 bzip2 190
18.2 文件歸檔 191
18.2.1 tar 191
18.2.2 zip 195
18.3 同步文件與目錄 196
18.4 總結 199
第19章 正則表達式 200
19.1 什麼是正則表達式 200
19.2 grep 201
19.3 元字符與文字字符 202
19.4 任意字符 203
19.5 錨點 203
19.6 方括號表達式與字符類 204
19.6.1 排除 205
19.6.2 傳統的字符範圍 205
19.7 POSIX字符類 206
19.8 POSIX基本型正則表達式與
擴展型正則表達式 209
19.9 多選結構 210
19.10 量詞 211
19.10.1 ?——匹配0次或1次 211
19.10.2 *——匹配0次或多次 212
19.10.3 ——匹配1次或多次 212
19.10.4 {}——匹配指定次數 213
19.11 實戰演練 213
19.11.1 使用grep驗證電話號碼
列表 213
19.11.2 使用find查找路徑名 214
19.11.3 使用locate搜索文件 215
19.11.4 使用Less和Vim搜索
文本 215
19.12 總結 217
第20章 文本處理 218
20.1 文本的應用 219
20.1.1 文檔 219
20.1.2 網頁 219
20.1.3 電子郵件 219
20.1.4 打印機輸出 219
20.1.5 程序源代碼 219
20.2 溫故知新 220
20.2.1 cat—連接文件並
打印 220
20.2.2 sort—排序 221
20.2.3 uniq—刪除重複行 227
20.3 切片和切塊 228
20.3.1 cut——從每行中刪除
部分內容 229
20.3.2 paste——合併行 231
20.3.3 join——連接兩個文件中
具有公共字段的行 233
20.4 比較文本 235
20.4.1 comm——逐行比較兩個
已排序的文件 235
20.4.2 diff——逐行比較文件 236
20.4.3 patch——對原文件應用
diff文件 238
20.5 即時編輯 239
20.5.1 tr——轉寫或刪除字符 239
20.5.2 sed——用於文本過濾和
轉換的流編輯器 240
20.5.3 aspell——交互式拼寫
檢查器 247
20.6 總結 250
第21章 格式化輸出 251
21.1 簡單的格式化工具 251
21.1.1 nl——對行進行編號 252
21.1.2 fold——在指定長度處
折行 254
21.1.3 fmt——一個簡單的文本
格式化工具 255
21.1.4 pr——格式化要輸出的
文本 258
21.1.5 printf——格式化並輸出
數據 259
21.2 文檔格式化系統 261
21.3 總結 267
第22章 打印 268
22.1 打印簡史 268
22.1.1 “黑暗”時代 269
22.1.2 基於字符的打印機 269
22.1.3 圖形化打印機 270
22.2 Linux的打印功能 271
22.3 準備文件打印 271
22.4 將打印作業發送至打印機 272
22.4.1 lpr—以Berkeley風格
打印文件 272
22.4.2 lp—以System V風格
打印文件 273
22.4.3 a2ps—在PostScript
打印機上打印文件 274
22.5 監控打印作業 276
22.5.1 lpstat——顯示打印系統
狀態 276
22.5.2 lpq——顯示打印隊列
狀態 277
22.5.3 lprm/cancel——取消打印
作業 278
22.6 總結 278
第23章 編譯程序 279
23.1 什麼是編譯 280
23.2 編譯C程序 281
23.2.1 獲取源代碼 281
23.2.2 檢查源代碼樹 283
23.2.3 構建程序 284
23.2.4 安裝程序 288
23.3 總結 288
第四部分 編寫Shell腳本
第24章 編寫個腳本 291
24.1 什麼是Shell腳本 291
24.2 如何創建並執行Shell腳本 292
24.2.1 腳本文件格式 292
24.2.2 可執行權限 293
24.2.3 腳本位置 293
24.2.4 腳本的理想位置 294
24.3 更多的格式技巧 294
24.3.1 長選項 295
24.3.2 縮進與續行 295
24.4 總結 296
第25章 啟動項目 297
25.1 階段:小化文檔 297
25.2 第二階段:添加數據 299
25.3 變量與常量 300
25.3.1 為變量與常量賦值 302
25.3.2 here document 304
25.4 總結 306
第26章 自頂向下設計 307
26.1 Shell函數 308
26.2 局部變量 311
26.3 保持腳本執行 312
26.4 總結 315
第27章 流程控制:if分支 316
27.1 if語句 317
27.2 退出狀態 317
27.3 使用test 319
27.3.1 文件表達式 319
27.3.2 字符串表達式 322
27.3.3 整數表達式 323
27.4 更現代的test 324
27.5 (())——為整數設計 325
27.6 組合表達式 326
27.7 控制操作符:另一種分支
方式 329
27.8 總結 329
第28章 讀取鍵盤輸入 331
28.1 read——從標準輸入讀取值 332
28.1.1 選項 334
28.1.2 IFS 336
28.2 驗證輸入 338
28.3 菜單 339
28.4 總結 341
第29章 流程控制:while/until循環 342
29.1 循環 342
29.2 跳出循環 345
29.3 使用循環讀取文件 347
29.4 總結 348
第30章 故障診斷 349
30.1 語法錯誤 349
30.1.1 缺少引號 350
30.1.2 缺少詞法單元 351
30.1.3 出乎意料的擴展 351
30.2 邏輯錯誤 353
30.2.1 防禦式編程 353
30.2.2 小心文件名 354
30.2.3 核實輸入 355
30.3 測試 355
30.4 調試 357
30.4.1 查找問題區域 357
30.4.2 跟蹤 357
30.4.3 在執行過程中檢查值 359
30.5 總結 360
第31章 流程控制:case分支 361
31.1 case命令 361
31.1.1 模式 363
31.1.2 執行多次操作 365
31.2 總結 366
第32章 位置參數 367
32.1 訪問命令行 367
32.1.1 確定參數個數 369
32.1.2 shift——訪問多個參數 369
32.1.3 簡單應用 371
32.1.4 在Shell函數中使用
位置參數 371
32.2 批量處理位置參數 372
32.3 一個更完整的應用 374
32.4 總結 377
第33章 流程控制:for循環 380
33.1 for的傳統形式 380
33.2 for的C語言形式 383
33.3 總結 384
第34章 字符串與數字 387
34.1 參數擴展 387
34.1.1 基本參數 388
34.1.2 管理空變量擴展 388
34.1.3 返回變量名的擴展 390
34.1.4 字符串操作 390
34.1.5 大小寫轉換 393
34.2 算術求值與擴展 395
34.2.1 數字基數 395
34.2.2 一元操作符 395
34.2.3 簡單算術 395
34.2.4 賦值 397
34.2.5 位操作 399
34.2.6 邏輯操作 399
34.3 bc——任意精度計算器語言 401
34.3.1 使用bc 402
34.3.2 示例腳本 403
34.4 總結 404
第35章 數組 405
35.1 什麼是數組 405
35.1.1 創建數組 406
35.1.2 為數組賦值 406
35.1.3 訪問數組元素 406
35.2 數組操作 408
35.2.1 輸出數組的全部內容 408
35.2.2 確定數組元素的數量 409
35.2.3 查找數組使用的索引 410
35.2.4 向數組尾部添加元素 410
35.2.5 數組排序 410
35.2.6 刪除數組 411
35.3 關聯數組 412
35.4 總結 412
第36章 其他命令 413
36.1 分組命令與子Shell 413
36.2 陷阱 419
36.3 使用wait實現異步執行 421
36.4 具名管道 423
36.4.1 創建具名管道 423
36.4.2 使用具名管道 424
36.5 總結 424

《只是為了好玩》

本書是Linux之父Linus Torvalds的自傳。 Linux之父Linus Torvalds的自傳,也是Linus唯一一本書。Linus以調侃的語氣講述了自己的成長經歷,在他看來,一切都是為了好玩兒,興趣引發革命。書中內容共分為五章,一部分是Linus自己寫的,一部分是合著者David Di...

查看詳情 →

《真名實姓:弗諾·文奇的科幻世界與現代計算機網絡的發展》

這是一部影響橫跨一個時代的科幻經典,附帶九位重量級人物的深度解讀,講述硬科幻大師弗諾·文奇與互聯網界頂尖人物之間的跨界對話。1981年首次出版時便入圍雨果獎和星雲獎,成為科幻圈與科技界之間的橋樑,揭示了從互聯網的萌芽到《神經漫遊者》所引發的變革全貌。劉慈欣高度評價這部著作,認為它是對計算機技術所帶來...

查看詳情 →

《從零開始做運營》

運營是什麼?怎樣做運營?產品和運營是什麼關係?我是否適合從事互聯網運營?為什麼我做的運營活動收效甚微? 在互聯網大熱的今天,互聯網運營成為一個越來越重要的崗位,事關網站、產品的發展與存亡。很多年輕人帶著對互聯網的熱情投身到這個行業,卻發現自己對這個行業所知甚少,對互聯網運營更加陌生,甚至有一些有志於...

查看詳情 →

《天才與算法:人腦與AI的數學思維》

★這是兼具美英兩國科學院院士稱號的馬庫斯·杜·索托伊先生的傑出之作。 ★我們將進入一個由算法主導的時代,人工智能將在互聯網、繪畫、音樂與寫作等領域全面挑戰人類的創造力與想象力。 ★作者通過數學思維解讀算法,幫助人們理解創造力的本質,推動人類與機器共存的美好未來成為可能。

查看詳情 →