跟阿銘學Linux(第4版)
李世明
買這商品的人也買了...
-
$2,010$1,910 -
$550$495 -
$505虛擬化技術實踐指南:面向中小企業的高效、低成本解決方案
-
$480$360 -
$480$379 -
$203無線網絡技術 原理、安全及實踐
-
$474$450 -
$480$408 -
$600$468 -
$534$507 -
$620$465 -
$650$553 -
$359$341
相關主題
商品描述
本書是一本入門級的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