Linux 操作系統(第4版)

邵國金,張娜

立即出貨 (庫存 < 4)

買這商品的人也買了...

相關主題

商品描述

本書以紅帽(Fedora30、CentOS8 和RHEL8)及Ubuntu 18.04 系統為藍本,
分4 篇介紹了Linux 操作系統的基礎、系統管理、編程與開發、網絡服務與應用。
基礎篇介紹了UNIX/Linux 系統的基本知識、基本操作和基本管理;
系統管理篇介紹了UNIX/Linux 系統的常用管理內容,包括用戶、
組和密碼管理,文件系統管理及使用,進程、任務與作業管理,
系統安裝、擴充、啟動與管理,設備管理,網絡配置、管理與基本應用,
Linux 系統的安全;編程與開發篇介紹了bshell 編程、C/C++及其他編程環境;
網絡服務與應用篇介紹了Linux 系統的常用網絡應用與網絡服務,
包括網絡時間服務NTP、基礎服務OpenSSH和VNC、Web 服務器Nginx、
DHCP 服務器、FTP 與TFTP 服務器、網絡資源共享服務、域名服務器DNS。
本書與以前的版本相比最大的不同是引入了Linux 系統的最新技術和應用,
強化了安全技術SELinux與防火牆。
本書從培養“應用型”人才的理念出發,兼顧基本知識和基本理論介紹,
內容翔實,結構清晰,具有較強的實用性和指導性;基於不斷發展、
安全穩定且為虛擬化、大數據和雲計算提供很好支持的紅帽和Ubuntu 系統,
具有廣泛的代表性,並且內容兼顧UNIX 系統。
本書可作為高等學校UNIX/Linux 操作系統的教材,
也可作為網絡操作系統的實例教材,
還可作為UNIX 和Linux 操作系統管理者和愛好者的參考書。

作者簡介

邵國金

中國計算機學會會員,河南城建學院教授。
操作系統方面的教學和研究工作。
從事操作系統、UNIX和Linux研究、應用與開發30來年,
主參編書籍有《Unix系統與軟件開發》,《Linux操作系統》等7部。
發表學術論文19篇,主持和參與省級科研項目5項,
獲河南省自然科學學術獎―優秀著作獎和河南省信息技術教育優秀成果獎多項。

目錄大綱

目錄
●基礎篇
章系統簡介.2
1.1 UNIX系統簡介.2
1.1.1 UNIX系統的發展歷史.2
1.1.2 UNIX系統的特點.6
1.2 Linux系統簡介.8
1.2.1 Linux系統的發展歷史.8
1.2 .2 Linux系統的特點.9
1.2.3 Linux系統的發行版本介紹.10
1.2.4 Linux系統的應用.12
習題1.12
實驗1.13

第2章系統入門.14
2.1系統的開機與界面切換.14
2.1. 1系統的開機.14
2.1.2兩種操作界面及切換.15
2.2用戶的登錄與註銷.16
2.2.1用戶的登錄.16
2.2.2用戶的註銷.18
2.2.3 CLI終端仿真界面.19
2.2.4程序的啟動.19
2.3 Linux系統的關閉與重啟.20
2.3.1字符界面.20
2.3.2系統的運行級別及切換.21
2.3.3圖形界面.22
2.4 Linux系統的圖形界面介紹. 22
2.4.1 GNOME簡介.23
2.4.2設置中心(Settings).26
2.5 Linux系統的在線幫助與資源.28
2.5.1 man.28
2.5.2 textinfo.29
2.5.3 yelp.30
2.5.4 Linux系統的其他幫助和資源.30
2.6 LibreOffice辦公套件簡介.31
2.6.1 LibreOffice Writer.32
2.6.2 LibreOffice Calc.32
2.6.3 LibreOffice Impress.33
2. LibreOffice Draw.34
習題2.34
實驗2.35

第3章基本操作與基本管理.36
3.1 shell基本功能與基本概念.36
3.1.1 shell基本功能.36
3.1.2字符與保留字.36
3.1.3文件命名及文件類型.38
3.1.4目錄結構與路徑.40
3.1.5 shell命令格式與命令行編輯.43
3.1.6標準流與I/O重定向.45
3.1.7管道與三通.47
3.1.8變量與環境變量.47
3.1.9引號機制、命令替換、變量替換與參數替換.48
3.1.10 shell命令的執行. 50
3.1.11 shell種類.51
3.2 Linux系統的基本命令.52
3.2.1目錄操作基本命令.52
3.2.2文件操作基本命令.54
3.2.3文件屬性操作基本命令.59
3.2.4文本文件編輯與操作基本命令.61
3.2. 5文件或目錄比較命令.71
3.2.6其他操作命令.73
3.3 Linux系統的基本管理.79
3.3.1環境變量管理.79
3.3.2別名管理.80
3.3.3主機名管理.81
3.3.4網絡基本管理.82
3.3.5日期、時間與時區管理.86
3.3.6軟件包基本管理.89
3.3.7進程與信號基本管理.95
3.3.8服務基本管理.99
3.3.9防火牆基本管理. 105
3.3.10 SELinux基本管理.110
3.3.11服務管理的基本步驟.113
習題3.114
實驗3.116
系統管理篇

第4章用戶、組和密碼管理.118
4.1 UNIX系統的用戶和組.118
4.1.1用戶和uid.118
4.1.2組和gid.118
4.2與用戶和組管理相關的文件.118
4.2.1 /etc/passwd.119
4.2.2 /etc/shadow.119
4.2.3 /etc/group.120
4.2.4 /etc/login.defs.120
4.2.5 /etc/default/useradd.121
4.2.6其他文件.121
4.3用戶管理命令.121
4.3.1用戶創建(useradd,adduser).122
4.3.2用戶刪除(userdel).124
4.3.3用戶修改(usermod).124
4.4組管理命令.124
4.4.1組創建(groupadd). 124
4.4.2組刪除(groupdel).125
4.4.3組修改(groupmod).125
4.5密碼管理.125
4.5.1密碼管理綜述.125
4.5.2密碼管理命令(passwd).126
4.5.3密碼管理示例.126
4.6用戶、組和密碼管理圖形界面.127
4.6.1用戶添加.127
4.6.2用戶屬性修改.128
4.6.3用戶刪除.128
4.7與用戶身份和位置相關的其他命令.129
4.7. 1顯示與用戶和組相關的身份信息(id).129
4.7.2顯示已登錄用戶的信息(who).129
4.7.3顯示使用者的用戶名(whoami).130
4.7.4控制是否顯示其他用戶發來的信息(mesg).130
4.7.5向系統中的指定用戶發送信息(write).130
4.7.6向正在系統中工作的所有用戶發送信息(wall).130
4.7.7顯示用戶所使用的終端設備(tty).131
4.7.8不退出系統而將自己切換成其他用戶(su).131
4.7. 9以其他用戶身份執行程序(sudo).132
習題4.134
實驗4.135

第5章文件系統管理及使用.136
5.1文件系統權限及管理.136
5.1.1三種權限.136
5.1.2三類人.136
5.1.3權限表示.137
5.1.4默認權限與umask.138
5.2權限管理命令.138
5.2.1設置文件創建掩碼(umask).138
5.2.2改變文件或目錄的訪問權限(chmod).139
5.2.3改變文件的所有者(chown).139
5.2.4改變文件所屬組(chgrp).140
5.2.5 ext2+文件系統的新增屬性及管理.140
5.3微機硬盤的物理結構與分區劃分.141
5.3.1主引導扇區與分區表.141
5.3.2 MBR格式硬盤結構.142
5.3.3 GPT格式磁盤結構.143
5.4文件系統管理.144
5.4.1 UNIX/Linux系統支持的文件系統.144
5.4.2 Linux系統使用的存儲設備.146
5.4.3磁盤分區管理與文件系統的創建.147
5.4.4文件系統的使用.152
5.4.5文件系統的檢查、修復與同步.157
5.5與文件系統管理相關的其他命令.159
5.5.1文件綜合查找命令(find).159
5.5.2文件按名查找命令(locate).161
5.5.3文件複製與轉換命令(dd).162
5.5.4鏈接管理命令(ln).163
5.5.5特別文件創建(mknod,mkfifo).1
5.5.6文件系統的使用情況統計(df).1
5.5.7目錄使用磁盤空間情況統計(du).165
5.6數據備份與文件打包壓縮.166
5.6.1數據備份及任務.166
5.6.2磁盤文件歸檔管理命令(tar).167
5.6.3文件系統備份與復制命令(cpio).168
5.文件的壓縮與解壓.170
5.7圖形界面下的文件和目錄管理.172
習題5.173
實驗5.174

第6章進程、任務與作業管理.176
6.1程序和進程的概念.176
6.1.1程序、進程、作業和任務.176
6.1.2調度策略與優先級的計算.176
6.1.3 Linux系統的啟動.177
6.1.4 0#進程與1#進程.177
6.1.5進程狀態及查詢(ps).178
6.1.6三類進程.179
6.2登錄shell的啟動與定制.180
6.2.1用戶登錄過程與登錄shell的啟動.180
6.2.2用戶登錄控制與shell的定制.181
6.3 Linux系統的啟動過程分析.182
6.3.1 SysVinit.182
6.3.2 systemd.184
早期服務、服務和本地服務管理.187
.1早期服務管理.187
.2服務器(netd /inetd).188
.3本地服務管理.190
6.5進程管理與調度.191
6.5.1可執行文件的suid、sgid權限和目錄的sticky屬性.191
6.5.2進程管理與調度命令.193
6.5.3改變進程的根目錄(chroot).196
6.6作業的自動調度.198
6.6.1 at和batch.198
6.6.2 crontab.200
6.6.3系統crontab.202
6.7進程管理圖形界面.202
習題6.202
實驗6.203

第7章系統安裝、擴充、啟動與管理.204
7.1系統安裝.204
7.1.1安裝任務與準備.204
7.1.2安裝Linux系統所需的基本分區. 205
7.1.3安裝過程.205
7.1.4虛擬機的安裝與使用.209
7.2引導器(GRUB).209
7.2.1 GRUB常用術語.209
7.2.2操作界面.210
7.2.3 GRUB及其配置. 211
7.2.4系統的啟動及啟動參數的修改.215
7.3其他軟件包管理.216
7.3.1 tar格式包管理.216
7.3.2其他rpm包.216
7.3.3第三方rpm包源.217
7.3. 4 cpio包.217
7.3.5其他格式包.218
7.4日誌管理.218
7.4.1 journalctl與systemd日誌.218
7.4.2日誌系統.220
7.4.3常見日誌文件及閱讀.222
7.5系統管理.224
7.5 .1系統管理的任務.224
7.5.2系統管理的工具與命令.225
7.6內核配置與參數在線調整.230
7.6.1內核源代碼安裝與配置.230
7.6.2編譯與安裝新內核.233
7.6.3模塊管理.234
7.內核參數在線調整.235
實驗7.236

第8章設備管理.237
8.1設備管理概述.237
8.1.1 Linux系統支持的設備.237
8.1.2系統設備與查看.238
8.2打印機的管理與使用.241
8.2.1 cups的安裝.241
8.2.2 CUPS系統的啟動管理.241
8.2.3打印機的安裝與配置.241
8.2.4打印機的使用.244
8.2.5打印任務管理.245
8.3交換區管理.246
8.3.1概述.246
8.3.2使用交換設備. 247
8.3.3使用交換文件.248
8.4串口與終端管理.248
8.4.1綜述.248
8.4.2串口管理.249
8.4.3終端及設置.249
習題8.252
實驗8.253

第9章網絡配置、管理與基本應用.254
9.1 TCP/IP基礎知識.254
9.1.1 IP地址.254
9.1.2物理地址與邏輯地址.256
9.1.3端口及服務.257
9.1.4網卡命名方案.257
9.2網絡配置.258
9.2.1與網絡有關的配置文件.258
9.2.2網絡服務及管理. 261
9.2.3 IP地址配置.262
9.3網絡管理命令.2
9.3.1檢查網絡狀態(netstat).2
9.3.2地址解析協議緩存管理(arp).265
9.3.3 IP網絡綜合管理(ip). 266
9.3.4網絡接口的啟用與停用(ifup/ifdown).267
9.3.5路由表維護(route).267
9.3.6主機及IP地址查詢(nslookup、host和dig).269
9.4網絡應用常用命令.270
9.4.1遠程登錄(telnet與ssh).270
9.4.2文件傳輸(ftp與tftp).270
9.4.3郵件收發(mailx/mail).271
9.4.4文件下載(wget).272
習題9.273
實驗9.274

10章Linux系統的安全.275
10.1 Linux系統安全概述.275
10.1.1操作系統可能遇到的安全問題.275
10.1.2 Linux系統的基本安全機制.276
10.1.3 Linux系統的安全防範策略.278
10.2檢查和監督系統的運行情況.280
10.2.1檢查系統、進程運行狀況.280
10.2.2檢查並停止不需要的服務.280
10.2.3檢查系統的日誌文件.280
10.2.4查找並去除多餘的具有suid、sgid權限的文件或屬性.280
10.2.5檢查網絡.281
10.2.6入侵檢測.281
10.2. 7監督資源使用情況.281
10.3事件報告製度.281
10.4防火牆.282
10.5 SELinux.283
10.5.1 SELinux中的安全類型和角色.283
10.5.2 SELinux安全上下文管理.284
習題10.288
實驗10.288
編程與開發篇

11章bshell編程.290
11.1正則表達式.290
11.1.1字符集.290
11.1.2 shell正則表達式.292
11.2流編輯(sed).293
11.2.1功能及用法.293
11.2.2參數與說明.293
11.2.3腳本命令.293
11.2.4 sed示例.294
11.3模式搜索與處理(awk).295
11.3.1功能及用法.295
11.3.2參數說明.295
11.3.3記錄和域.295
11.3.4變量.295
11.3.5操作符.296
11.3.6控制語句.297
11.3.7常用函數.298
11.3.8 awk程序的執行.298
11.3.9 awk使用示例.299
11.4 Bourne shell及其編程.300
11.4.1特殊字符.300
11.4 .2變量與參數.300
11.4.3 shell的狀態.301
11.4.4 shell的調用與變量傳遞.302
11.4.5 shell程序設計.302
11.4.6命令行參數與選項的處理.316
11.4.7 shell程序調試.319
11.4.8 shell腳本程序格式.320
習題11.324
實驗11.325

12章C/C++及其他編程環境.326
12.1編譯器.326
12.1.1功能及用法.326
12.1.2參數及說明.327
12.1 .3示例.327
12.1.4 gcc/g++的工作過程.329
12.2頭文件.329
12.3鏈接器與庫文件.329
12.4靜態庫.330
12.4.1靜態庫的管理.330
12.4.2靜態庫的構造.331
12.4.3靜態庫的使用.331
12.5共享庫.332
12.5.1共享庫的構造.332
12.5.2共享庫的管理.332
12.5.3共享庫編程.333
12.5.4共享庫使用示例.334
12.6 make與Makefile .335
12.6.1 make的用法簡介.335
12.6.2 Makefile文件.336
12.6.3 Makefile示例.338
12.7調試器(gdb).341
12.7.1 gdb功能.341
12.7.2 gdb基本命令.341
12.7. 3程序調試方法.342
12.8 Linux系統的其他編程工具簡介.344
12.8.1常用庫與GNOME/GTK.344
12.8.2 KDevelop/Qt.345
12.8.3 Java.345
12.8.4 Eclipse.346
12.8.5 Perl.348
12.8.6數據庫.348
12.8.7 PHP.349
12.8.8 Objective-C.350
12.8.9 Python.350
12.8.10 R.352
12.8.11虛擬化、雲計算和大數據應用.354
習題12.355
實驗12.356
網絡服務與應用篇

13章網絡時間服務NTP.358
13.1 NTP協議.358
13.1.1 NTP協議簡介.358
13.1.2 NTP協議的工作模式.359
13.1.3 NTP服務器及軟件選擇.359
13.2通過ntp配置NTP.359
13.2.1 ntp軟件包安裝.359
13.2.2 ntp服務管理.359
13.2.3配置文件ntp.conf及其默認配置.360
13.2.4 /etc/sysconfig/ntpd和/etc/default/ntp文件.362
13.2.5防火牆設置.362
13.2.6 ntp配置實例.362
13.2.7 ntp配置測試.3
13.3通過chrony配置NTP.365
13.3.1 chrony軟件包安裝.366
13.3.2 chrony服務管理.366
13.3.3配置文件chrony.conf及其默認配置.366
13.3.4 chrony配置實例.367
13.3.5 chrony配置測試.368
13.3.6其他說明.369
13.4無ntp服務的NTP客戶端.370
習題13.370
實驗13.370

14章基礎服務OpenSSH和VNC.371
14.1 OpenSSH.371
14.1.1 OpenSSH協議.371
14.1.2與啟動管理.371
14.1.3配置文件與服務器設置.372
14.1.4客戶端及應用.374
14.1. 5與防火牆和SELinux的關係.376
14.2 VNC.377
14.2.1 TigerVNC.377
14.2.2客戶端及使用.379
14.2.3 x11vnc.380
習題14.382
實驗14.382

15章Web服務器Nginx.383
15.1 Nginx概述.383
15.2 Nginx的安裝、啟動與測試.383
15.2.1 Nginx的安裝與啟動管理.383
15.2.2 Nginx服務的測試.384
15.2.3 Nginx命令及簡單管理介紹.384
15.3 Nginx的配置文件和配置指令.385
15.3.1 Nginx的配置目錄.385
15.3.2 Nginx主配置文件的結構.386
15.3.3 Nginx的配置指令.388
15.4 Web服務器配置實例.390
15.4.1準備.390
15.4.2默認虛擬主機.390
15.4.3虛擬主機.390
15.4.4主機訪問控制.392
15.5 LNMP環境部署.394
15.5.1 php-fpm模塊安裝與配置.394
15.5.2 LNMP站點配置. 396
15.5.3 php-mysql模塊安裝與配置.398
15.6與防火牆和SELinux的關係.399
15.6.1與防火牆的關係.399
15.6.2與SELinux的關係.399
習題15.401
實驗15.401

16章DHCP服務器.402
16.1 DHCP介紹.402
16.1.1 DHCP協議.402
16.1.2 DHCP的工作過程.403
16.2軟件包安裝與服務管理.404
16.3 DHCP的配置.405
16.3.1配置文件.405
16.3.2配置文件中的定義、參數和選項.405
1 DHCP規劃.407
1.1在不同的網絡中使用DHCP.407
1.2設置DHCP中繼代理.408
1.3設置DHCP備份.408
16.5與防火牆和SELinux的關係.409
習題109
實驗110

17章FTP與TFTP服務器.411
17.1 FTP與TFTP服務器概述.411
17.1.1 FTP的相關概念.411
17.1.2 Linux系統的FTP服務器.413
17.2 vsftpd服務器.413
17.2.1 vsftpd的常見配置.413
17.2.2常見型vsftpd服務器配置. 418
17.3 FTP服務器的使用.422
17.3.1使用瀏覽器訪問FTP服務器.422
17.3.2使用客戶端命令ftp訪問FTP服務器.422
17.4 TFTP與TFTP服務器的使用簡介.425
17.4.1 TFTP協議.425
17.4 .2 TFTP的安裝、配置及應用.425
17.5與防火牆和SELinux的關係.427
17.5.1與防火牆的關係.427
17.5.2與SELinux的關係.427
習題17.428
實驗17.428

18章網絡資源共享服務.430
18.1 Samba服務.430
18.1.1 SMB協議與Samba.430
18.1.2 Samba的安裝與啟動管理.431
18.1.3 Samba的配置.432
18.1.4配置共享打印機.437
18.1 .5 Samba共享服務使用.439
18.1.6關於防火牆和SELinux的說明.441
18.2 NFS服務器.442
18.2.1 NFS介紹.442
18.2.2 NFS文件系統配置.443
18.2.3 NFS系統的使用.445
18.2 .4 NFS的其他功能.447
18.2.5與防火牆和SELinux的關係.449
習題18.450
實驗18.450

19章域名服務器DNS.451
19.1 DNS概述.451
19.1.1 IP地址與域名的轉換.451
19.1.2域名空間和區域.452
19.1.3 DNS查詢.453
19.1.4 DNS服務器的類型.454
19.1.5客戶端與域名解析相關的配置文件.455
19.2 BIND.455
19.2.1安裝BIND.455
19.2.2 BIND的啟動管理.455
19.2.3 DNS服務器的運行方式及工作目錄.456
19.2.4 DNS服務器配置基礎.457
19.2.5訪問控制設置.462
19.3 DNS服務器配置實例.462
19.3.1主域名服務器配置實例.462
19.3.2輔助域名服務器配置實例.4
19.4 DNS服務器測試.465
19.5 DNS與防火牆及SELinux的關係.465
19.5.1 DNS與防火牆的關係.465
19.5.2 DNS與SELinux的關係.466
習題19.466
實驗19.466
參考文獻.467