跟阿銘學Linux(第4版)

李世明

  • 出版商: 人民郵電
  • 出版日期: 2021-01-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 353
  • ISBN: 7115555656
  • ISBN-13: 9787115555656
  • 相關分類: Linux

立即出貨

  • 跟阿銘學Linux(第4版)-preview-1
  • 跟阿銘學Linux(第4版)-preview-2
跟阿銘學Linux(第4版)-preview-1

相關主題

商品描述

本書是一本入門級的Linux學習教材,內容由淺入深,案例豐富,通俗易懂!書中分兩部分:前面為基礎知識,涉及安裝、登錄、文件和目錄管理、磁盤管理、Vim、壓縮和解壓縮等;後面為進階知識,包括LAMP、LNMP、NFS、FTP、Linux集群和Zabbix監控等。與上一版相比,這版不僅將虛擬機軟件由VMware 10改為VMware 14,基於CentOS 8進行了全面修訂,刪掉了LAMP環境搭建與配置,還增加了Docker等內容。

作者簡介

李世明,拥有12年运维经验,是前腾讯高级运维工程师,现任猿课在线教育运维方向教研总监、移动安全领域头部创业公司运维总监。

目錄大綱

目 錄

第1 章 學習之初 1

1.1 Linux 是什麽 1

1.1.1 Linux 的由來 1

1.1.2 Linux 怎麽讀 2

1.1.3 常見Linux 發行版 2

1.1.4 我們要學習哪個Linux 發行版 2

1.2 Linux 系統管理員要養成的習慣 3

1.2.1 要習慣使用命令行 3

1.2.2 操作要嚴謹 4

1.2.3 安全不可忽視 4

1.3 學習建議 5

1.3.1 穩中求進 5

1.3.2 善於總結文檔 5

1.3.3 復習很關鍵 5

1.3.4 舉一反三 6

1.4 課後習題 6

第2 章 安裝CentOS 7

2.1 安裝虛擬機 7

2.1.1 下載虛擬機軟件 7

2.1.2 安裝虛擬機 8

2.1.3 新建一個虛擬機 10

2.2 安裝Linux 操作系統 14

2.2.1 下載CentOS 鏡像文件 14

2.2.2 設置虛擬光盤機 14

2.2.3 安裝CentOS 16

23 第一次親密接觸 22

2.3.1 初次使用命令行登錄 22

2.3.2 設置網絡 22

2.3.3 學會使用快捷鍵 26

2.3.4 學會查詢幫助文檔——man命令 26

2.3.5 Linux 系統目錄結構 27

2.3.6 如何正確關機、重啟 30

2.3.7 忘記root 密碼怎麽辦 30

2.3.8 學會使用救援模式 32

2.4 課後習題 35

第3 章 遠程登錄Linux 系統 36

3.1 安裝PuTTY 36

3.1.1 下載PuTTY 36

3.1.2 安裝 37

3.2 遠程登錄 37

3.2.1 使用密碼直接登錄 37

3.2.2 使用密鑰認證 38

3.3 兩台Linux 相互登錄 41

3.3.1 克隆CentOS 41

3 3.2 使用密碼登錄 42

3.3.3 使用密鑰登錄 43

3.4 課後習題 45

第4 章 Linux 文件和目錄管理 46

4.1 絕對路徑和相對路徑 46

4.1.1 命令cd 46

4.1.2 命令mkdir 47

4.1.3 命令rmdir 48

4.1.4 命令rm 48

42 環境變量PATH 49

4.2.1 命令cp 50

4.2.2 命令mv 51

4.3 幾個與文檔相關的命令 52

4.3.1 命令cat 52

4.3.2 命令tac 53

4.3.3 命令more 53

4.3.4 命令less 53

4.3.5 命令head 53

4.3.6 命令tail 54

4.4 文件的所有者和所屬組 54

4.5 Linux 文件屬性 55

4.6 更改文件的權限 56

4.6.1 命令chgrp 56

4.6.2 命令chown 57

4.6.3 命令chmod 57

4.6.4 命令umask 59

4.6.5 修改文件的特殊屬性 60

4.7 在Linux 下搜索文件 62

4.7.1 用which 命令查找可執行文件的絕對路徑 62

4.7.2 用whereis 命令查找文件 62

4.7.3 用locate 命令查找文件 63

4.7.4 使用find 搜索文件 63

4.8 Linux 文件系統簡介 65

4.9 Linux 文件類型 66

4.9.1 常見文件類型 66

4.9.2 Linux 文件後綴名 66

4.9.3 Linux 的鏈接文件 66

4.10 課後習題 68

第5 章 Linux 系統用戶與用戶組管理 70

5.1 認識 /etc/passwd 和 /etc/shadow 70

5.1.1 解說/etc/passwd 71

5.1.2 解說/etc/shadow 71

5.2 用戶和用戶組管理 72

5.2.1 新增組的命令groupadd 72

5.2.2 刪除組的命令groupdel 73

5.2.3 增加用戶的命令useradd 73

5.2.4 刪除用戶的命令userdel 74

5.3 用戶密碼管理 74

5.3.1 命令passwd 74

5.3.2 命令mkpasswd 75

5.4 用戶身份切換 75

5.4.1 命令su 76

5.4.2 命令sudo 76

5.4.3 不允許root 遠程登錄Linux 78

5.5 課後習題 78

第6 章 Linux 磁盤管理 80

6.1 查看磁盤或者目錄的容量 80

6.1.1 命令df 80

6.1.2 命令du 81

6.2 磁盤的分區和格式化 83

6.2.1 增加虛擬磁盤 83

6.2.2 命令fdisk 84

6.3 格式化磁盤分區 92

6.3.1 命令mke2fs、mkfsext2、mkfsext3、mkfsext4 和mkfsxfs 92

6.3.2 命令e2label 95

6.4 掛載/卸載磁盤 95

6.4.1 命令mount 95

6.4.2 /etc/fstab 配置文件 97

6.4.3 命令blkid 99

6.4.4 命令umount 100

6.5 建立一個swap 文件增加虛擬內存 101

6.6 課後習題 101

第7 章 文本編輯工具Vim 103

7.1 Vim 的3 種常用模式 103

7.1.1 一般模式 103

7.1.2 編輯模式 104

7.1.3 命令模式 105

7.2 Vim 實踐 105

7.3 課後習題 107

第8 章 文檔的壓縮與打包 108

8.1 gzip 壓縮工具 108

8.2 bzip2 壓縮工具 109

8.3 xz 壓縮工具 109

8.4 tar 打包工具 110

8.4.1 打包的同時使用gzip 壓縮 112

8.4.2 打包的同時使用bzip2 壓縮 112

8.5 使用zip 壓縮 113

8.6 zcat、bzcat 命令的使用 114

8.7 課後習題 114

第9 章 安裝RPM 包或源碼包 115

9.1 RPM 工具 115

9.1.1 安裝RPM 包 116

9.1.2 升級RPM 包 116

9.1.3 卸載RPM 包 116

9.1.4 查詢一個包是否已安裝 117

9.1.5 得到一個已安裝的RPM包的相關信息 117

9.1.6 列出一個RPM 包的安裝文件 118

9.1.7 列出某個文件屬於哪個RPM包 119

9.2 yum 工具 119

9.2.1 列出所有可用的RPM 包 119

9.2.2 搜索RPM 包 120

9.2.3 安裝RPM 包 120

9.2.4 卸載RPM 包 121

9.2.5 升級RPM 包 122

9.2.6 更改yum 倉庫為國內鏡像站 122

9.2.7 利用yum 工具下載RPM 包 123

9.3 安裝源碼包 124

9.3.1 下載源碼包 124

9.3.2 解壓源碼包 124

9.3.3 配置相關的選項並生成Makefile 125

9.3.4 進行編譯 126

9.3.5 安裝 126

9.4 課後習題 127

第10 章 shell 基礎知識 128

10.1 什麽是shell 128

10.1.1 記錄命令歷史 128

10.1.2 命令和文件名補全 129

10.1.3 別名 129

10.1.4 通配符 130

10.1.5 輸入/輸出重定向 130

10.1.6 管道符 130

10.1.7 作業控制 131

10.2 變量 132

10.2.1 命令env 132

10.2.2 命令set 134

10.3 系統環境變量與個人環境變量的配置文件 137

10.4 Linux shell 中的特殊符號 137

10.41 *代表零個或多個任意字符 137

10.4.2 只代表一個任意的字符 137

10.4.3 註釋符號# 138

10.4.4 脫義字符\ 138

10.4.5 再說管道符| 138

10.4.6 特殊符號$ 142

10.4.7 特殊符號; 142

10.4.8 特殊符號~ 143

10.4.9 特殊符號& 143

10.4.10 重定向符號>、>>、2>和2>> 143

10.4.11 中括號[] 143

10.4.12 特殊符號&&和|| 144

10.5 課後習題 144

第11 章 正則表達式 146

11.1 grep/egrep 工具的使用 146

11.1.1 過濾出帶有某個關鍵詞的行,並輸出行號 147

11.1.2 過濾出不帶有某個關鍵詞的行,並輸出行號 147

11.1.3 過濾出所有包含數字的行 148

11.1.4 過濾出所有不包含數字的行 148

11.1.5 過濾掉所有以#開頭的行 148

11.1.6 過濾出任意一個字符和重復字符 149

11.1.7 指定要過濾出的字符出現次數 150

11.1.8 過濾出一個或多個指定的字符 150

11.1.9 過濾出零個或一個指定的字符 151

11.1.10 過濾出字符串1 或者字符串2 151

11.1.11 egrep 中()的應用 151

11.2 sed 工具的使用 152

11.2.1 打印某行 152

11.2.2 打印包含某個字符串的行 152

11.2.3 刪除某些行 153

11.2.4 替換字符或者字符串 153

11.2.5 調換兩個字符串的位置 154

11.2.6 直接修改文件的內容 155

11.2.7 sed 練習題 155

11.3 awk 工具的使用 156

11.3.1 截取文檔中的某個段 157

11.3.2 匹配字符或者字符串 157

11.3.3 條件操作符 158

11.3.4 awk 的內置變量 159

11.3.5 awk 中的數學運算 160

11.3.6 awk 練習題 161

11,4 課後習題 162

第12 章 shell 腳本 163

12.1 什麽是shell 腳本 163

12.1.1 shell 腳本的創建和執行 164

12.1.2 命令date 165

12.2 shell 腳本中的變量 165

12.2.1 數學運算 166

12.2.2 和用戶交互 166

12.2.3 shell 腳本預設變量 167

12.3 shell 腳本中的邏輯判斷 168

12.3.1 不帶else 168

12.3.2 帶有else 168

12.3.3 帶有elif 169

12.3.4 和文件相關的判斷 170

12.3.5 case 邏輯判斷 171

12.4 shell 腳本中的循環 172

12.4.1 for 循環 172

12.4.2 while 循環 173

12.5 shell 腳本中的函數 173

12.6 shell 腳本中的中斷和繼續 174

12.6.1 break 174

12.6.2 continue 175

12.6.3 exit 175

12.7 shell 腳本練習題 176

12.8 課後習題 178

第13 章 Linux 系統管理技巧 179

13.1 監控系統的狀態 179

13.1.1 使用w 命令查看當前系統的負載 179

13.1.2 用vmstat 命令監控系統的狀態 182

13.1.3 用top 命令顯示進程所占的系統資源 183

13.1.4 用sar 命令監控系統狀態 184

13.1.5 用nload 命令查看網卡流量 186

13.1.6 用free 命令查看內存使用狀況 186

13.1.7 用ps 命令查看系統進程 187

13.1.8 用netstat 命令查看網絡狀況 189

13.2 抓包工具 191

13.2.1 tcpdump 工具 191

13.2.2 wireshark 工具 192

13.3 Linux 網絡相關 192

13.3.1 用ifconfig 命令查看網卡IP 193

13.3.2 給一個網卡設定多個IP 193

13.3.3 查看網卡連接狀態 194

13.3.4 更改主機名 195

13.3.5 設置DNS 195

13.4 Linux 的防火牆 196

13.4.1 SELinux 196

13.4.2 netfilter 197

13.4.3 firewalld 204

13.5 Linux 系統的任務計劃 210

13.5.1 命令crontab 210

13.5.2 cron 練習題 211

13.6 Linux 系統服務管理 212

13.6.1 chkconfig 服務管理工具 212

13.6.2 systemd 服務管理 213

13.7 Linux 下的數據備份工具rsync 216

13.7.1 rsync 的命令格式 217

13.7.2 rsync 常用選項 217

13.7.3 rsync 應用實例 222

13.8 Linux 系統日誌 227

13.8.1 /var/log/messages 228

13.8.2 dmesg 229

13.8.3 安全日誌 229

13.9 xargs 與exec 230

13.9.1 xargs 應用 230

13.9.2 exec 應用 230

13.10 screen 工具介紹 231

13.10.1 使用nohup 231

13.10.2 screen 工具的使用 231

13.11 課後習題 232

第14 章 LNMP 環境配置 234

14.1 安裝MySQL 234

14.1.1 下載軟件包 234

14.1.2 初始化 235

14.1.3 MySQL 配置文件 236

14.2 安裝PHP 236

14.3 安裝Nginx 239

14.4 Nginx 配置 242

14.4.1 默認虛擬主機 242

14.4.2 用戶認證 244

14.4.3 域名或鏈接重定向 245

14.4.4 Nginx 的訪問日誌 247

14.4.5 配置靜態文件不記錄日誌並添加過期時間 248

14.4.6 Nginx 防盜鏈 250

14.4.7 訪問控制 251

14.4.8 Nignx 解析PHP 253

14.4.9 Nginx 代理 253

14.4.10 Nignx 配置SSL 257

14.5 php-fpm 配置 261

14.5.1 php-fpm 的pool 261

14.5.2 php-fpm 的慢執行日誌 262

14.5.3 php-fpm 定義open_basedir 263

14.5.4 php-fpm 進程管理 263

14.6 課後習題 264

第15 章 常用MySQL 操作 265

15.1 更改MySQL 數據庫root 的密碼 265

15.2 連接數據庫 268

15.3 MySQL 基本操作的常用命令 268

15.3.1 查詢當前庫 268

15.3.2 查詢某個庫的表 269

15.3.3 查看某個表的全部字段 270

15.3.4 查看當前是哪個用戶 271

15.3.5 查看當前所使用的數據庫 271

15.3.6 創建一個新庫 272

15.3.7 創建一個新表 272

15.3.8 查看當前數據庫的版本 272

15.3.9 查看MySQL 的當前狀態 272

15.3.10 查看MySQL 的參數 273

15.3.11 修改MySQL 的參數 273

15.3.12 查看當前MySQL 服務器的隊列 273

15.3.13 創建一個普通用戶並授權 274

15.4 常用的SQL 語句 274

15.4.1 查詢語句 274

15.4.2 插入一行 275

15.4.3 更改表的某一行 275

15.4.4 清空某個表的數據 275

15.4.5 刪除表 276

15.4.6 刪除數據庫 276

15.5 MySQL 數據庫的備份與恢復 276

15.5.1 MySQL 備份 276

15.5.2 MySQL 的恢復 276

15.6 課後習題 276

第16 章 NFS 服務配置 278

16.1 服務端配置NFS 278

16.2 客戶端掛載NFS 279

16.3 命令exportfs 280

16.4 課後習題 281

第17 章 配置FTP 服務 282

17.1 使用vsftpd 搭建FTP 服務 282

17.1.1 安裝vsftpd 282

17.1.2 建立賬號 282

17.1.3 創建和用戶對應的配置文件 283

17.1.4 修改全局配置文件/etc/vsftpd/vsftpdconf 284

17.2 安裝配置pure-ftpd 284

17.2.1 安裝pure-ftpd 284

17.2.2 配置pure-ftpd 285

17.2.3 建立賬號 285

17.2.4 測試pure-ftpd 286

17.3 課後習題 286

第18 章 配置Tomcat 287

18.1 安裝Tomcat 287

18.1.1 安裝JDK 287

18.1.2 安裝Tomcat 288

18.2 配置Tomcat 290

18.2.1 配置Tomcat 服務的訪問埠 290

18.2.2 Tomca 的虛擬主機 290

18.3 測試Tomcat 解析JSP 292

18.4 Tomcat 日誌 293

18.5 Tomcat 連接MySQL 293

第19 章 MySQL Replication 配置 296

19.1 配置MySQL 服務 296

19.2 配置Replication 297

19.2.1 設置master(主) 298

19.2.2 設置slave(從) 299

19.3 測試主從 300

19.4 課後習題 301

第20 章 Linux 集群 302

20.1 搭建高可用集群 302

20.1.1 keepalived 的工作原理 303

20.1.2 安裝keepalived 303

20.1.3 keepalived+Nginx 實現 Web 高可用 303

20.2 搭建負載均衡集群 309

20.2.1 介紹LVS 309

20.2.2 LVS 的調度算法 313

20.2.3 使用keepalived+LVS DR 模式實現負載均衡 315

20.2.4 使用Nginx 實現負載均衡 317

20.3 課後習題 319

第21 章 配置監控服務器 320

21.1 Zabbix 監控介紹 320

21.1.1 Zabbix 組件 321

21.1.2 Zabbix 架構 321

21.2 Zabbix 監控安裝和部署 322

21.2.1 用yum 安裝Zabbix 322

21.2.2 配置MySQL 323

21.2.3 配置Web 界面 324

21.2.4 部署Zabbix 客戶端 327

21.3 Zabbix 配置和使用 328

21.3.1 忘記Admin 密碼 328

21.3.2 添加主機 328

21.3.3 添加模板 330

21.3.4 主機鏈接模板 332

21.3.5 圖形中的中文亂碼 332

21.3.6 添加自定義監控項目 333

21.3.7 配置告警 335

第22 章 Docker 容器 338

22.1 在CentOS 8 上安裝Docker 338

22.1.1 下載Docker 338

22.1.2 在CentOS 8 上安裝 Docker 339

22.2 Docker 鏡像 340

22.3 容器 342

22.4 創建鏡像 345

22.4.1 通過容器創建鏡像 345

22.4.2 使用模板創建鏡像 345

22.4.3 使用Dockerfile 創建鏡像 346

22.4.4 Dockerfile 實踐 349

22.5 Docker 私人倉庫 350

22.5.1 部署harbor 前的準備工作 351

22.5.2 部署harbor 351

22.5.3 使用harbor 352