Linux從入門到精通(第3版)

劉憶智

  • 出版商: 清華大學
  • 出版日期: 2024-04-01
  • 售價: $539
  • 貴賓價: 9.5$512
  • 語言: 簡體中文
  • ISBN: 7302660204
  • ISBN-13: 9787302660200
  • 相關分類: Linux
  • 立即出貨

  • Linux從入門到精通(第3版)-preview-1
  • Linux從入門到精通(第3版)-preview-2
  • Linux從入門到精通(第3版)-preview-3
Linux從入門到精通(第3版)-preview-1

相關主題

商品描述

本書是獲得大量讀者好評的“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·