作 者:李世明 著
定 價:99
出 版 社:人民郵電出版社
出版日期:2021年01月01日
頁 數:368
裝 幀:平裝
ISBN:9787115555656
1.本書語言通俗簡練、易上手、實踐性很強,特別適合初學者。可謂是學習Linux第一本書,甚至是小白和女友也能輕松學會的Linux入門書。2.早在2011年,作者就已經在網上發表過《跟阿銘學Linux》的電子版教程,並於2013年出了第2版,市場反響很好,我們基於第2版電子版出版了《跟阿銘學Linux》一書。3.第4版基於CentOS8改版,新增了Docker技術,購買圖書即加入阿銘Linux圈子,共享人脈和資源好書就像好酒,歷久彌香。本書在傳承精華的基礎上及時將繫統更新到CentOS 8等
●第1章學習之初1
1.1Linux是什麼1
1.1.1Linux的由來1
1.1.2Linux怎麼讀2
1.1.3常見Linux發行版2
1.1.4我們要學習哪個Linux發行版2
1.2Linux繫統管理員要養成的習慣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章安裝CentOS7
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安裝CentOS16
2.3第一次親密接觸22
2.3.1初次使用命令行登錄22
2.3.2設置網絡22
2.3.3學會使用快捷鍵26
2.3.4學會查詢幫助文檔——man命令26
2.3.5Linux繫統目錄結構27
2.3.6如何正確關機、重啟30
2.3.7忘記root密碼怎麼辦30
2.3.8學會使用救援模式32
2.4課後習題35
第3章遠程登錄Linux繫統36
3.1安裝PuTTY36
3.1.1下載PuTTY36
3.1.2安裝37
3.2遠程登錄37
3.2.1使用密碼直接登錄37
3.2.2使用密鑰認證38
3.3兩臺Linux相互登錄41
3.3.1克隆CentOS41
3.3.2使用密碼登錄42
3.3.3使用密鑰登錄43
3.4課後習題45
第4章Linux文件和目錄管理46
4.1絕對路徑和相對路徑46
4.1.1命令cd46
4.1.2命令mkdir47
4.1.3命令rmdir48
4.1.4命令rm48
4.2環境變量PATH49
4.2.1命令cp50
4.2.2命令mv51
4.3幾個與文檔相關的命令52
4.3.1命令cat52
4.3.2命令tac53
4.3.3命令more53
4.3.4命令less53
4.3.5命令head53
4.3.6命令tail54
4.4文件的所有者和所屬組54
4.5Linux文件屬性55
4.6更改文件的權限56
4.6.1命令chgrp56
4.6.2命令chown57
4.6.3命令chmod57
4.6.4命令umask59
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.8Linux文件繫統簡介65
4.9Linux文件類型66
4.9.1常見文件類型66
4.9.2Linux文件後綴名66
4.9.3Linux的鏈接文件66
4.10課後習題68
第5章Linux繫統用戶與用戶組管理70
5.1認識/etc/passwd和/etc/shadow70
5.1.1解說/etc/passwd71
5.1.2解說/etc/shadow71
5.2用戶和用戶組管理72
5.2.1新增組的命令groupadd72
5.2.2刪除組的命令groupdel73
5.2.3增加用戶的命令useradd73
5.2.4刪除用戶的命令userdel74
5.3用戶密碼管理74
5.3.1命令passwd74
5.3.2命令mkpasswd75
5.4用戶身份切換75
5.4.1命令su76
5.4.2命令sudo76
5.4.3不允許root遠程登錄Linux78
5.5課後習題78
第6章Linux磁盤管理80
6.1查看磁盤或者目錄的容量80
6.1.1命令df80
6.1.2命令du81
6.2磁盤的分區和格式化83
6.2.1增加虛擬磁盤83
6.2.2命令fdisk84
6.3格式化磁盤分區92
6.3.1命令mke2fs、mkfsext2、mkfsext3、mkfsext4和mkfsxfs92
6.3.2命令e2label95
6.4掛載/卸載磁盤95
6.4.1命令mount95
6.4.2/etc/fstab配置文件97
6.4.3命令blkid99
6.4.4命令umount100
6.5建立一個swap文件增加虛擬內存101
6.6課後習題101
第7章文本編輯工具Vim103
7.1Vim的3種常用模式103
7.1.1一般模式103
7.1.2編輯模式104
7.1.3命令模式105
7.2Vim實踐105
7.3課後習題107
第8章文檔的壓縮與打包108
8.1gzip壓縮工具108
8.2bzip2壓縮工具109
8.3xz壓縮工具109
8.4tar打包工具110
8.4.1打包的同時使用gzip壓縮112
8.4.2打包的同時使用bzip2壓縮112
8.5使用zip壓縮113
8.6zcat、bzcat命令的使用114
8.7課後習題114
第9章安裝RPM包或源碼包115
9.1RPM工具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.2yum工具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配置相關的選項並生成Makefile125
9.3.4進行編譯126
9.3.5安裝126
9.4課後習題127
第10章shell基礎知識128
10.1什麼是shell128
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命令env132
10.2.2命令set134
10.3繫統環境變量與個人環境變量的配置文件137
10.4Linuxshell中的特殊符號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.1grep/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或者字符串2151
11.1.11egrep中()的應用151
11.2sed工具的使用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.7sed練習題155
11.3awk工具的使用156
11.3.1截取文檔中的某個段157
11.3.2匹配字符或者字符串157
11.3.3條件操作符158
11.3.4awk的內置變量159
11.3.5awk中的數學運算160
11.3.6awk練習題161
11,4課後習題162
第12章shell腳本163
12.1什麼是shell腳本163
12.1.1shell腳本的創建和執行164
12.1.2命令date165
12.2shell腳本中的變量165
12.2.1數學運算166
12.2.2和用戶交互166
12.2.3shell腳本預設變量167
12.3shell腳本中的邏輯判斷168
12.3.1不帶else168
12.3.2帶有else168
12.3.3帶有elif169
12.3.4和文件相關的判斷170
12.3.5case邏輯判斷171
12.4shell腳本中的循環172
12.4.1for循環172
12.4.2while循環173
12.5shell腳本中的函數173
12.6shell腳本中的中斷和繼續174
12.6.1break174
12.6.2continue175
12.6.3exit175
12.7shell腳本練習題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.1tcpdump工具191
13.2.2wireshark工具192
13.3Linux網絡相關192
13.3.1用ifconfig命令查看網卡IP193
13.3.2給一個網卡設定多個IP193
13.3.3查看網卡連接狀態194
13.3.4更改主機名195
13.3.5設置DNS195
13.4Linux的防火牆196
13.4.1SELinux196
13.4.2netfilter197
13.4.3firewalld204
13.5Linux繫統的任務計劃210
13.5.1命令crontab210
13.5.2cron練習題211
13.6Linux繫統服務管理212
13.6.1chkconfig服務管理工具212
13.6.2systemd服務管理213
13.7Linux下的數據備份工具rsync216
13.7.1rsync的命令格式217
13.7.2rsync常用選項217
13.7.3rsync應用實例222
13.8Linux繫統日志227
13.8.1/var/log/messages228
13.8.2dmesg229
13.8.3安全日志229
13.9xargs與exec230
13.9.1xargs應用230
13.9.2exec應用230
13.10screen工具介紹231
13.10.1使用nohup231
13.10.2screen工具的使用231
13.11課後習題232
第14章LNMP環境配置234
14.1安裝MySQL234
14.1.1下載軟件包234
14.1.2初始化235
14.1.3MySQL配置文件236
14.2安裝PHP236
14.3安裝Nginx239
14.4Nginx配置242
14.4.1默認虛擬主機242
14.4.2用戶認證244
14.4.3域名或鏈接重定向245
14.4.4Nginx的訪問日志247
14.4.5配置靜態文件不記錄日志並添加過期時間248
14.4.6Nginx防盜鏈250
14.4.7訪問控制251
14.4.8Nignx解析PHP253
14.4.9Nginx代理253
14.4.10Nignx配置SSL257
14.5php-fpm配置261
14.5.1php-fpm的pool261
14.5.2php-fpm的慢執行日志262
14.5.3php-fpm定義open_basedir263
14.5.4php-fpm進程管理263
14.6課後習題264
第15章常用MySQL操作265
15.1更改MySQL數據庫root的密碼265
15.2連接數據庫268
15.3MySQL基本操作的常用命令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.5MySQL數據庫的備份與恢復276
15.5.1MySQL備份276
15.5.2MySQL的恢復276
15.6課後習題276
第16章NFS服務配置278
16.1服務端配置NFS278
16.2客戶端掛載NFS279
16.3命令exportfs280
16.4課後習題281
第17章配置FTP服務282
17.1使用vsftpd搭建FTP服務282
17.1.1安裝vsftpd282
17.1.2建立賬號282
17.1.3創建和用戶對應的配置文件283
17.1.4修改全局配置文件/etc/vsftpd/vsftpdconf284
17.2安裝配置pure-ftpd284
17.2.1安裝pure-ftpd284
17.2.2配置pure-ftpd285
17.2.3建立賬號285
17.2.4測試pure-ftpd286
17.3課後習題286
第18章配置Tomcat287
18.1安裝Tomcat287
18.1.1安裝JDK287
18.1.2安裝Tomcat288
18.2配置Tomcat290
18.2.1配置Tomcat服務的訪問端口290
18.2.2Tomca的虛擬主機290
18.3測試Tomcat解析JSP292
18.4Tomcat日志293
18.5Tomcat連接MySQL293
第19章MySQLReplication配置296
19.1配置MySQL服務296
19.2配置Replication297
19.2.1設置master(主)298
19.2.2設置slave(從)299
19.3測試主從300
19.4課後習題301
第20章Linux集群302
20.1搭建高可用集群302
20.1.1keepalived的工作原理303
20.1.2安裝keepalived303
20.1.3keepalived+Nginx實現Web高可用303
20.2搭建負載均衡集群309
20.2.1介紹LVS309
20.2.2LVS的調度算法313
20.2.3使用keepalived+LVSDR模式實現負載均衡315
20.2.4使用Nginx實現負載均衡317
20.3課後習題319
第21章配置監控服務器320
21.1Zabbix監控介紹320
21.1.1Zabbix組件321
21.1.2Zabbix架構321
21.2Zabbix監控安裝和部署322
21.2.1用yum安裝Zabbix322
21.2.2配置MySQL323
21.2.3配置Web界面324
21.2.4部署Zabbix客戶端327
21.3Zabbix配置和使用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在CentOS8上安裝Docker338
22.1.1下載Docker338
22.1.2在CentOS8上安裝Docker339
22.2Docker鏡像340
22.3容器342
22.4創建鏡像345
22.4.1通過容器創建鏡像345
22.4.2使用模板創建鏡像345
22.4.3使用Dockerfile創建鏡像346
22.4.4Dockerfile實踐349
22.5Docker私人倉庫350
22.5.1部署harbor前的準備工作351
22.5.2部署harbor351
22.5.3使用harbor352
本書是一本入門級的Linux學習教材,內容由淺入深,案例豐富,通俗易懂!書中分兩部分:前面為基礎知識,涉及安裝、登錄、文件和目錄管理、磁盤管理、Vim、壓縮和解壓縮等;後面為進階知識,包括LAMP、LNMP、NFS、FTP、Linux集群和Zabbix監控等。與上一版相比,這版不僅將虛擬機軟件由VMware 10改為VMware 14,基於CentOS 8進行了全面修訂,刪掉了LAMP環境搭建與配置,還增加了Docker等內容。
李世明 著
李世明,阿銘Linux培訓創辦者,猿課聯合創始人,從事互聯網運維工作8年多,先後就職於Discuz、騰訊、好貸,從最基礎的運維到高級運維工程師,再到運維部門負責人,運維過的網站從訪問量十幾萬PV到上億PV,經歷過各種各樣的突發事故,運維實戰經驗非常豐富。2011年編寫的《跟阿銘學Linux》電子版入門教程,閱讀量高達幾十萬,對初學者提供了莫大的幫助。近些年,在從事Linux運維培訓工作中積累了豐富的教學經驗,培訓過的學生薪資大多在8以上。