Linux從入門到精通(第3版)
劉憶智
買這商品的人也買了...
-
$560$504 -
$480$470 -
$420$332 -
$800$632 -
$980$735 -
$480$408 -
$750$638 -
$594$564 -
$1,200$948 -
$500$390 -
$602嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統
-
$650$507 -
$680$578 -
$580$435 -
$1,368$1,300 -
$894$849 -
$560$442 -
$760$593 -
$539$512 -
$580$458 -
$653車規級芯片技術
-
$620$490 -
$680$537 -
$599$569 -
$834$792
相關主題
商品描述
本書是獲得大量讀者好評的“Linux典藏大系”中的經典暢銷書《Linux從入門到精通》的第3版。《Linux從入門到精通》第2版累計30次印刷,印數超過10萬冊,多次被評為清華大學出版社“年度暢銷書”,還曾獲得“51CTO讀書頻道”頒發的“最受讀者喜愛的原創IT技術圖書獎”,並被ChinaUnix技術社區大力推薦。《Linux從入門到精通(第3版)》基於新發布的Ubuntu 22.04,循序漸進地向讀者介紹Linux的基礎應用、系統管理、網絡應用、娛樂與辦公、程序開發、服務器配置和系統安全等相關知識。《Linux從入門到精通(第3版)》提供教學視頻、思維導圖、教學PPT、習題參考答案和軟件工具等超值配套資源,幫助讀者高效、直觀地學習。 《Linux從入門到精通(第3版)》共27章,分為7篇。第1篇“基礎知識”,包括Linux概述、Linux的安裝、Linux的基本配置、桌面環境。第2篇“系統管理”,包括Shell的基本命令、文件和目錄管理、軟件包管理、硬盤管理、用戶與用戶組管理、進程管理。第3篇“網絡應用”,包括網絡配置、瀏覽網頁、傳輸文件、遠程登錄。第4篇“娛樂與辦公”,包括多媒體應用、圖像查看和處理、打印機配置、辦公軟件的使用。第5篇“程序開發”,包括Linux編程工具和Shell編程。第6篇“服務器配置”,包括服務器基礎知識、HTTP服務器——Apache、Samba服務器和網絡硬盤——NFS。第7篇“系統安全”,包括任務計劃——cron、防火牆和網絡安全、病毒和木馬等。附錄給出了Linux的常用指令。 《Linux從入門到精通(第3版)》內容豐富,講解循序漸進,非常適合廣大Linux初、中級讀者閱讀,也適合開源軟件愛好者和從事Linux平臺開發的各類人員閱讀,還可作為大中專院校相關專業的教材。
目錄大綱
(京東、當當目錄請直接傳目錄jpg圖)
目錄
第1篇 基礎知識
第1章 Linux概述 2
1.1 Linux的起源和發展 2
1.1.1 Linux的起源 2
1.1.2 追溯到UNIX 2
1.1.3 影響世界的開源潮流 3
1.1.4 GNU公共許可證:GPL 4
1.2 為什麽選擇Linux 4
1.2.1 作為服務器 4
1.2.2 作為桌面 5
1.3 Linux的發行版本 5
1.3.1 不同的發行版本 5
1.3.2 哪種發行版本最好 6
1.3.3 本書選擇的發行版本 7
1.4 Internet上的Linux資源 8
1.5 小結 9
1.6 習題 9
第2章 Linux的安裝 11
2.1 安裝前的準備工作 11
2.1.1 從哪裡獲得Linux 11
2.1.2 硬件要求 11
2.1.3 與Windows“同處一室” 12
2.1.4 虛擬機的使用 12
2.1.5 虛擬機軟件VMware Workstation 13
2.2 安裝Linux至硬盤 13
2.2.1 第一步:從U盤啟動 13
2.2.2 關於硬盤分區 15
2.2.3 配置Ubuntu的基本信息 17
2.2.4 設置用戶和口令 17
2.2.5 第一次啟動 18
2.3 獲取幫助信息和搜索應用程序 19
2.4 進階:修復受損的Grub 20
2.4.1 Windows“惹的禍” 20
2.4.2 使用救援模式 20
2.4.3 重新安裝Grub 21
2.5 小結 23
2.6 習題 23
第3章 Linux的基本配置 24
3.1 關於超級用戶root 24
3.1.1 root用戶可以做什麽 24
3.1.2 避免災難 25
3.1.3 Debian和Ubuntu的root用戶 25
3.2 依賴發行版本的系統管理工具 26
3.3 中文支持 26
3.4 關於硬件驅動程序 27
3.5 獲得更新 28
3.6 進階:配置Grub 29
3.6.1 Grub的配置文件 29
3.6.2 使用Grub命令行 31
3.7 小結 32
3.8 習題 32
第4章 桌面環境 34
4.1 快速熟悉工作環境 34
4.1.1 運行應用程序 34
4.1.2 瀏覽文件系統 34
4.1.3 創建一個文本文件 35
4.2 個性化設置 36
4.2.1 設置桌面背景和字體 36
4.2.2 設置顯示器的分辨率 37
4.2.3 設置代理服務器 37
4.2.4 設置鼠標和觸摸板 38
4.2.5 設置快捷鍵 38
4.3 進階:究竟什麽是“桌面” 39
4.3.1 可以卸載的圖形環境 39
4.3.2 X窗口系統的基本組成 40
4.3.3 X窗口系統的啟動過程 41
4.3.4 啟動X應用程序 41
4.3.5 桌面環境——KDE和Gnome誰更好 42
4.4 小結 42
4.5 習題 43
第2篇 系統管理
第5章 Shell的基本命令 46
5.1 Shell簡介 46
5.2 格式約定 46
5.3 快速上手:瀏覽硬盤 47
5.4 提高效率:使用命令行補全和通配符 48
5.5 查看目錄和文件 50
5.5.1 顯示當前目錄:pwd命令 50
5.5.2 改變目錄:cd命令 50
5.5.3 列出目錄內容:ls命令 51
5.5.4 列出目錄內容:dir和vdir命令 52
5.5.5 查看文本文件:cat和more命令 53
5.5.6 顯示文件的開頭和結尾:head和tail命令 54
5.5.7 更好地閱讀文本:less命令 55
5.5.8 查找文件內容:grep命令 56
5.6 我的文件在哪裡:find命令 57
5.7 更快速地定位文件:locate命令 58
5.8 從終端運行程序 58
5.9 查找特定程序:whereis命令 59
5.10 查看用戶及版本信息 59
5.11 尋求幫助:man命令 60
5.12 獲取命令簡介:whatis和apropos命令 60
5.13 小結 61
5.14 習題 62
第6章 文件和目錄管理 63
6.1 Linux文件系統架構 63
6.2 快速上手:和團隊共享文件 64
6.3 建立文件和目錄 65
6.3.1 建立目錄:mkdir命令 65
6.3.2 建立一個空文件:touch命令 66
6.4 移動、復制和刪除 66
6.4.1 移動和重命名:mv命令 66
6.4.2 復制文件和目錄:cp命令 67
6.4.3 刪除目錄和文件:rmdir和rm命令 68
6.5 文件和目錄的權限 69
6.5.1 權限設置針對的用戶 69
6.5.2 需要設置哪些權限 69
6.5.3 查看文件和目錄的屬性 70
6.5.4 改變文件的所有權:chown和chgrp命令 71
6.5.5 改變文件的權限:chmod命令 72
6.5.6 文件權限的八進製表示 72
6.6 文件類型 73
6.6.1 查看文件類型 73
6.6.2 建立鏈接:ln命令 74
6.7 輸入、輸出重定向和管道 75
6.7.1 輸出重定向 75
6.7.2 輸入重定向 76
6.7.3 管道:“|”命令 77
6.8 小結 78
6.9 習題 79
第7章 軟件包管理 80
7.1 快速上手:安裝和卸載QQ for Linux 80
7.1.1 安裝QQ for Linux 80
7.1.2 運行QQ for Linux 81
7.1.3 卸載QQ for Linux 81
7.2 軟件包管理系統簡介 82
7.3 管理.deb軟件包:dpkg命令 82
7.3.1 安裝軟件包 83
7.3.2 查看已安裝的軟件包 83
7.3.3 卸載軟件包 84
7.4 管理RPM軟件包:rpm命令 84
7.4.1 安裝軟件包 84
7.4.2 升級軟件包 85
7.4.3 查看已安裝的軟件包 85
7.4.4 卸載軟件包 85
7.5 高級軟件包工具:APT 87
7.5.1 APT簡介 87
7.5.2 下載和安裝軟件包 87
7.5.3 查看軟件包信息 89
7.5.4 配置apt-get 90
7.5.5 使用圖形化的APT 91
7.6 進階:以Nmap為例從源代碼編譯軟件 92
7.6.1 為什麽要從源代碼編譯 93
7.6.2 下載和解壓軟件包 93
7.6.3 正確地配置軟件 93
7.6.4 編譯源代碼 95
7.6.5 將軟件安裝到硬盤上 95
7.6.6 出錯了怎麽辦 96
7.7 小結 96
7.8 習題 97
第8章 硬盤管理 98
8.1 關於硬盤 98
8.2 Linux文件系統 98
8.2.1 Ext3FS和Ext4FS文件系統 98
8.2.2 ReiserFS文件系統 99
8.2.3 關於swap 99
8.3 掛載文件系統 99
8.3.1 快速上手:使用U盤 100
8.3.2 Linux中設備的表示方法 101
8.3.3 掛載文件系統:mount命令 101
8.3.4 在啟動時掛載文件系統:/etc/fstab文件 102
8.3.5 為什麽無法彈出U盤:卸載文件系統 104
8.4 查看硬盤的使用情況:df命令 104
8.5 檢查和修復文件系統:fsck命令 105
8.6 在硬盤上建立文件系統:mkfs命令 105
8.7 壓縮工具 107
8.7.1 壓縮文件:gzip命令 107
8.7.2 更高的壓縮率:bzip2命令 108
8.7.3 支持rar格式 108
8.8 存盤工具 109
8.8.1 文件打包:tar命令 109
8.8.2 轉移文件:dd命令 111
8.9 進階1:安裝硬盤並分區——fdisk 111
8.9.1 使用fdisk工具建立分區表 111
8.9.2 使用mkfs命令建立Ext4FS文件系統 114
8.9.3 使用fsck命令檢查文件系統 115
8.9.4 測試分區 115
8.9.5 創建並激活交換分區 115
8.9.6 配置fstab文件 115
8.9.7 重新啟動系統 116
8.10 進階2:高級硬盤管理 117
8.10.1 獨立硬盤冗餘陣列RAID 117
8.10.2 邏輯捲管理器LVM 117
8.11 進階3:工作備份 117
8.11.1 為什麽要進行備份 118
8.11.2 選擇備份機制 118
8.11.3 選擇備份介質 118
8.11.4 備份文件系統:dump命令 119
8.11.5 恢復備份:restore命令 121
8.11.6 讓備份按時自動完成:cron命令 122
8.12 小結 123
8.13 習題 124
第9章 用戶與用戶組管理 125
9.1 用戶與用戶組的基礎知識 125
9.2 快速上手:為朋友添加一個賬戶 125
9.2.1 使用命令行工具:useradd和groupadd 126
9.2.2 使用圖形化管理工具 127
9.2.3 記錄用戶操作:history命令 129
9.2.4 直接編輯passwd和shadow文件 130
9.3 刪除用戶:userdel命令 130
9.4 管理用戶賬號:usermod命令 130
9.5 查看用戶信息:id命令 131
9.6 用戶間的切換:su命令 131
9.7 受限的特權:sudo命令 132
9.8 進階1:/etc/passwd文件 133
9.8.1 /etc/passwd文件概覽 133
9.8.2 加密的口令 134
9.8.3 UID號 134
9.8.4 GID號 135
9.9 進階2:/etc/shadow文件 135
9.10 進階3:/etc/group文件 136
9.11 小結 136
9.12 習題 137
第10章 進程管理 138
10.1 快速上手:結束一個失控的程序 138
10.2 什麽是進程 139
10.3 進程的屬性 139
10.3.1 PID:進程的ID號 139
10.3.2 PPID:父進程的PID 140
10.3.3 UID和EUID:真實和有效的用戶ID 140
10.3.4 GID和EGID:真實和有效的組ID 140
10.3.5 謙讓度和優先級 141
10.4 監視進程:ps命令 141
10.5 即時跟蹤進程信息:top命令 143
10.6 查看占用文件的進程:lsof命令 143
10.7 向進程發送信號:kill命令 144
10.8 調整進程的謙讓度:nice和renice命令 146
10.9 /PROC文件系統 147
10.10 小結 148
10.11 習題 148
第3篇 網絡應用
第11章 網絡配置 152
11.1 幾種常見的連接網絡的方式 152
11.1.1 通過辦公室局域網連接 152
11.1.2 無線連接 152
11.1.3 Modem連接 153
11.2 連接PC至局域網和Internet 153
11.2.1 連接辦公室局域網 153
11.2.2 使用ADSL 154
11.2.3 無線網絡 156
11.3 進階:在命令行下配置網絡 157
11.3.1 使用ifconfig配置網絡接口 158
11.3.2 使用route配置靜態路由 159
11.3.3 主機名和IP地址間的映射 160
11.4 小結 161
11.5 習題 161
第12章 瀏覽網頁 163
12.1 使用Mozilla Firefox 163
12.1.1 啟動Firefox 163
12.1.2 設置Firefox 164
12.1.3 清除最新的歷史記錄 165
12.1.4 安裝擴展組件 166
12.2 使用Google Chrome 167
12.3 基於文本的瀏覽器:Lynx 168
12.3.1 為什麽要使用字符界面 168
12.3.2 啟動和瀏覽 168
12.3.3 下載和保存文件 170
12.4 其他瀏覽器 170
12.5 小結 171
12.6 習題 171
第13章 傳輸文件 172
13.1 Linux間的網絡硬盤:NFS 172
13.1.1 安裝NFS文件系統 172
13.1.2 卸載NFS文件系統 173
13.1.3 選擇合適的安裝選項 173
13.1.4 啟動時自動安裝遠程文件系統 174
13.2 與Windows協作:Samba 175
13.2.1 什麽是Samba 175
13.2.2 快速上手:訪問Windows的共享文件夾 175
13.2.3 查看當前可用的Samba資源:smbtree和nmblookup 177
13.2.4 Linux中的Samba客戶端程序smbclient 178
13.2.5 掛載共享目錄:mount.cifs 179
13.3 基於SSH的文件傳輸工具:sftp和scp 179
13.3.1 安全的FTP:sftp 179
13.3.2 利用SSH通道復制文件:scp 180
13.4 小結 181
13.5 習題 181
第14章 遠程登錄 183
14.1 快速上手:搭建實驗環境 183
14.1.1 物理網絡還是虛擬機 183
14.1.2 安裝OpenSSH 184
14.1.3 安裝圖形化遠程桌面軟件Tightvnc 185
14.1.4 SUSE的防火牆設置 185
14.2 登錄另一臺Linux服務器 187
14.2.1 安全的Shell:SSH 187
14.2.2 登錄X窗口系統:圖形化的VNC 189
14.2.3 從Windows登錄Linux 190
14.3 登錄Windows服務器 192
14.4 為什麽不使用Telnet 193
14.5 進階:使用SSH密鑰 193
14.5.1 為什麽要使用密鑰 194
14.5.2 生成密鑰對 194
14.5.3 復制公鑰至遠程主機 195
14.5.4 測試配置 195
14.5.5 密鑰的安全性 195
14.6 小結 196
14.7 習題 196
第4篇 娛樂與辦公
第15章 多媒體應用 198
15.1 關於聲卡 198
15.2 播放器軟件簡介 199
15.3 播放音頻和視頻 199
15.3.1 播放數字音樂文件 199
15.3.2 使用VLC Media Player播放MP4視頻 202
15.4 Linux中的游戲 204
15.4.1 發行版自帶的游戲 204
15.4.2 Internet上的游戲資源 206
15.5 小結 207
15.6 習題 208
第16章 圖像查看和處理 209
16.1 查看圖片 209
16.1.1 使用Konqueror和Nautilus查看圖片 209
16.1.2 使用GIMP查看圖片 211
16.1.3 使用Shotwell管理相冊 212
16.2 使用GIMP處理圖像 215
16.2.1 GIMP基礎 215
16.2.2 漫步工具欄 216
16.2.3 實例:移花接木 217
16.2.4 使用插件 219
16.3 LibreOffice的繪圖工具 220
16.4 小結 221
16.5 習題 221
第17章 打印機配置 222
17.1 打印機簡介 222
17.1.1 打印機的語言:PDL 222
17.1.2 驅動程序和PDL的關系 223
17.1.3 Linux如何打印:CUPS 223
17.2 添加打印機 224
17.2.1 打印機的選擇 224
17.2.2 連接打印機 224
17.2.3 讓CUPS認識打印機 225
17.2.4 配置打印機選項 225
17.2.5 測試當前的打印機 226
17.3 管理CUPS服務器 226
17.3.1 設置網絡打印服務器 227
17.3.2 設置打印機的類 228
17.3.3 操縱打印隊列 230
17.3.4 刪除打印機和類 230
17.4 回顧:CUPS的體系結構 231
17.5 KDE和Gnome的打印工具 232
17.6 小結 232
17.7 習題 233
第18章 辦公軟件的使用 234
18.1 常用的辦公套件:LibreOffice.org 234
18.1.1 文字處理器 234
18.1.2 電子表格 236
18.1.3 演示文稿 241
18.1.4 文檔兼容 242
18.2 查看PDF文件 242
18.2.1 使用Xpdf 243
18.2.2 使用Foxit Reader 244
18.3 小結 245
18.4 習題 245
第5篇 程序開發
第19章 Linux編程工具 248
19.1 編輯器的選擇 248
19.1.1 Vim編輯器 248
19.1.2 Emacs編輯器 253
19.1.3 圖形化編程工具 256
19.2 C和C++的編譯器:GCC 257
19.2.1 編譯第一個C程序 257
19.2.2 與編譯有關的選項 258
19.2.3 優化選項 259
19.2.4 編譯C++程序:G++ 259
19.3 調試:GDB 260
19.3.1 啟動GDB 260
19.3.2 獲得幫助 260
19.3.3 查看源代碼 262
19.3.4 設置斷點 263
19.3.5 運行程序和單步執行 263
19.3.6 監視變量 264
19.3.7 臨時修改變量 265
19.3.8 查看堆棧情況 265
19.3.9 退出GDB 265
19.3.10 命令匯總 266
19.4 與他人協作:版本控制系統 266
19.4.1 什麽是版本控制 266
19.4.2 安裝及配置Git 267
19.4.3 建立項目倉庫 269
19.4.4 創建項目並導入源代碼 269
19.4.5 開始項目開發 270
19.4.6 修改代碼並提交 270
19.4.7 解決沖突 271
19.4.8 撤銷修改 274
19.4.9 命令匯總 275
19.5 小結 276
19.6 習題 276
第20章 Shell編程 278
20.1 正則表達式 278
20.1.1 什麽是正則表達式 278
20.1.2 不同風格的正則表達式 278
20.1.3 快速上手:在字典中查找單詞 278
20.1.4 字符集和單詞 279
20.1.5 字符類 280
20.1.6 位置匹配 281
20.1.7 字符轉義 281
20.1.8 重復 281
20.1.9 子表達式 282
20.1.10 反義 283
20.1.11 分支 283
20.1.12 逆向引用 283
20.2 Shell腳本編程 284
20.2.1 需要什麽工具 284
20.2.2 第一個程序:Hello World 284
20.2.3 變量和運算符 285
20.2.4 表達式求值 289
20.2.5 腳本執行命令和控制語句 290
20.2.6 條件測試 293
20.2.7 循環結構 299
20.2.8 讀取用戶輸入 302
20.2.9 腳本執行命令 303
20.2.10 創建命令表 305
20.2.11 其他有用的Shell命令 305
20.2.12 定製工具:安全的delete命令 309
20.3 Shell定製 310
20.3.1 修改環境變量 311
20.3.2 設置別名 312
20.3.3 個性化設置:修改.bashrc文件 313
20.4 小結 314
20.5 習題 314
第6篇 服務器配置
第21章 服務器基礎知識 318
21.1 系統引導 318
21.1.1 啟動Linux的基本步驟 318
21.1.2 Systemd和Target 319
21.1.3 服務器啟動腳本 320
21.2 管理守護進程 321
21.2.1 什麽是守護進程 322
21.2.2 服務器守護進程的運行方式 322
21.2.3 配置xinetd 323
21.2.4 舉例:通過xinetd啟動SSH服務 326
21.2.5 配置inetd 327
21.3 小結 327
21.4 習題 328
第22章 HTTP服務器——Apache 329
22.1 快速上手:搭建一個HTTP服務器 329
22.2 Apache基礎知識 330
22.2.1 HTTP的工作原理 330
22.2.2 安裝Apache服務器 331
22.2.3 啟動和關閉服務器 334
22.3 設置Apache服務器 335
22.3.1 配置文件 335
22.3.2 使用日誌文件 336
22.3.3 使用CGI 337
22.4 使用PHP+MySQL 338
22.4.1 PHP和MySQL簡介 338
22.4.2 安裝MariaDB 338
22.4.3 安裝PHP 339
22.4.4 配置Apache 340
22.5 小結 341
22.6 習題 341
第23章 Samba服務器 343
23.1 快速上手:搭建一個Samba服務器 343
23.2 Samba基礎知識 344
23.2.1 從源代碼安裝Samba服務器 344
23.2.2 啟動和關閉服務器 346
23.3 Samba配置 346
23.3.1 關於配置文件 346
23.3.2 設置全局域 347
23.3.3 設置匿名共享資源 349
23.3.4 開啟Samba用戶 349
23.3.5 配合用戶權限 350
23.3.6 設置孤立用戶的共享目錄 351
23.3.7 訪問自己的主目錄 352
23.4 安全性的幾點建議 352
23.5 小結 353
23.6 習題 353
第24章 網絡硬盤——NFS 355
24.1 快速上手:搭建一個NFS服務器 355
24.1.1 安裝NFS服務器 355
24.1.2 簡易配置 355
24.1.3 測試NFS服務器 356
24.2 NFS基礎知識 356
24.2.1 關於NFS協議的版本 356
24.2.2 RPC:NFS的傳輸協議 357
24.2.3 無狀態的NFS 357
24.3 NFS配置 358
24.3.1 理解配置文件 358
24.3.2 啟動和停止服務 359
24.4 安全性的幾點建議 360
24.4.1 充滿風險的NFS 360
24.4.2 使用防火牆 360
24.4.3 壓制root和匿名映射 361
24.4.4 使用特權埠 362
24.5 監視NFS的狀態:nfsstat命令 362
24.6 小結 363
24.7 習題 363
第7篇 系統安全
第25章 任務計劃——cron 366
25.1 快速上手:定期備份重要文件 366
25.2 cron的運行原理 366
25.3 crontab管理 367
25.3.1 系統的全局cron配置文件 367
25.3.2 普通用戶的配置文件 367
25.3.3 管理用戶的cron任務計劃 368
25.4 理解配置文件 368
25.5 簡單的定時:at命令 370
25.6 小結 371
25.7 習題 372
第26章 防火牆和網絡安全 373
26.1 Linux的防火牆——UFW 373
26.1.1 UFW簡介 373
26.1.2 查看UFW防火牆的狀態 373
26.1.3 添加規則 375
26.1.4 刪除規則 376
26.1.5 防火牆保險嗎 377
26.2 網絡安全工具 377
26.2.1 掃描網絡埠:nmap命令 377
26.2.2 找出不安全的口令:John the Ripper 379
26.3 主機訪問控制 380
26.4 小結 380
26.5 習題 381
第27章 病毒和木馬 382
27.1 隨時面臨的威脅 382
27.1.1 電腦病毒 382
27.1.2 特洛伊木馬 383
27.1.3 掩蓋入侵痕跡:Rootkits 383
27.2 基於Linux系統的防毒軟件:ClamAV 383
27.2.1 更新病毒庫 383
27.2.2 基本命令和選項 384
27.2.3 圖形化工具 385
27.3 反思:Linux安全嗎 386
27.4 小結 386
27.5 習題 386
附錄A Linux的常用指令 388
Linux從入門到精通(第3版)
目錄
·XVIII·
·XIX·