Linux操作系統(tǒng)是當前應用極為廣泛的服務器和桌面操作系統(tǒng)之一。它是一種自由和開放源碼的類UNIX操作系統(tǒng),可安裝在多種計算機硬件設備當中,廣泛應用于系統(tǒng)管理和維護、系統(tǒng)開發(fā)、語言開發(fā)及嵌入式系統(tǒng)等領域。本書基于CentOS7全面介紹了Linux操作系統(tǒng)的安裝、基本使用及幾種基本服務器的搭建。全書共分為6章,內容涉及Linux操作系統(tǒng)的概況介紹、Linux操作系統(tǒng)的安裝、RPM包管理、Systemd初始化、Linux的常用命令、存儲管理與磁盤分區(qū)、raid和邏輯卷管理、賬戶管理、權限管理、進程管理、管理守護進程、監(jiān)視系統(tǒng)性能、Linux網絡配置、遠程控制服務、Linux網絡工具、vi編輯器、Shell腳本編程以及Samba服務器配置、DHCP服務器配置、DNS服務器配置、Apache服務器配置等。
本書可作為高等職業(yè)技術院校及各培訓機構的Linux操作系統(tǒng)教材,也可作為Linux操作系統(tǒng)愛好者的自學用書。
Linux是一種類UNIX操作系統(tǒng),可供用戶免費使用和自由傳播。Linux操作系統(tǒng)支持多CPU多線程,很好地支持多用戶、多任務。如今Linux廣泛用于各種計算機設備、網絡設備和智能設備中,如個人計算機、服務器、路由器、智能手機和平板電腦等。因此,想進入這些領域的從業(yè)人員和在校學生,可以把學習Linux作為進入工作崗位的敲門磚。
本書選擇了相對于其他Linux發(fā)行版更加穩(wěn)定的CentOS7版本。CentOS是Linux發(fā)行版本之一,是基于著名的RedHat公司提供的可自由使用源代碼的企業(yè)級Linux發(fā)行版本,是RHEL(RedHatEnterpriseLinux)源代碼再編譯的版本。更為重要的是CentOS免費,而且它的每個發(fā)行版本通過安全更新的方式都會獲得10年的支持。
全書共6章,其中:第1章介紹了Linux操作系統(tǒng)的概況并詳細講解了Linux操作系統(tǒng)的安裝;第2章介紹了Linux的操作基礎與磁盤管理;第3章介紹了多用戶多任務管理;第4章
講解了網絡配置與遠程控制服務;第5章詳細描述了vi編輯器和Shell腳本編程;第6章介紹了Samba服務器、DHCP服務器、DNS服務器和Apache服務器的簡單配置。
本書可作為高等職業(yè)技術院校及各培訓機構的Linux操作系統(tǒng)教材,也可供廣大Linux操作系統(tǒng)愛好者自學使用。
本書由梁波、張婷婷、高秀東主編,周糴、趙昱凱、楊眷玉、張浩副主編,參與編寫工作的還有胡將軍、歐麗娜、楊賀昆、肖歡、劉澤、劉連喜、徐浩等老師。由于編者水平有限,書中難免有疏漏之處,希望廣大學生、Linux愛好者和Linux業(yè)界資深人士給予批評指正。誠摯地希望使用本書的老師提出寶貴意見和建議,讓我們共同研究Linux和自由軟件教學,為促進自由軟件在我國的發(fā)展盡綿薄之力。
編者編者
2021年4月
第1章Linux簡介與安裝1
1.1Linux簡介1
1.1.1自由軟件與Linux1
1.1.2Linux體系結構2
1.1.3CentOS簡介3
1.1.4Linux的內核版本與發(fā)行版本3
1.2安裝Linux4
1.2.1準備安裝Linux4
1.2.2U盤安裝6
1.2.3硬盤安裝6
1.2.4安裝并配置VM虛擬機7
1.3初入Linux13
1.3.1安裝CentOS713
1.3.2重置管理員密碼19
1.3.3獲得命令幫助21
1.4RPM包管理23
1.4.1RPM概述23
1.4.2yum軟件倉庫23
1.4.3RPM命令的使用24
1.5Systemd初始化26
1.5.1Systemd概述和特性26
1.5.2Systemd的核心概念:unit26
1.5.3Systemd的單元27
1.5.4Systemd的目標27
1.5.5Systemd的基本工具28
1.6思考與實驗30
第2章Linux操作基礎與磁盤管理32
2.1系統(tǒng)終端32
2.1.1Shell簡介33
2.1.2命令格式和通配符33
2.1.3Shell變量和Shell環(huán)境35
2.1.4幾種提高工作效率的方法36
2.1.5進一步使用Shell38
2.2Linux常用操作命令39
2.2.1Linux命令的基本特點39
2.2.2文件目錄操作命令41
2.2.3文本操作命令42
2.2.4輸入/輸出和管道命令43
2.2.5打包和壓縮命令45
2.2.6信息顯示命令47
2.3存儲管理與磁盤分區(qū)49
2.3.1Linux目錄結構49
2.3.2存儲管理工具簡介50
2.3.3磁盤及分區(qū)52
2.3.4創(chuàng)建和掛裝文件系統(tǒng)56
2.3.5磁盤限額59
2.4獨立冗余磁盤陣列和邏輯卷管理61
2.4.1RAID的相關概念61
2.4.2LVM相關概念66
2.5思考與實驗76
第3章多用戶多任務管理77
3.1賬戶管理77
3.1.1用戶和組群概述77
3.1.2使用命令行工具管理賬戶80
3.1.3口令管理和口令時效82
3.2文件權限管理85
3.2.1操作權限概述85
3.2.2更改操作權限86
3.2.3更改屬主和同組人89
3.2.4預設權限umask的使用90
3.2.5使用ACL權限91
3.3進程管理92
3.3.1進程概述93
3.3.2查看進程93
3.3.3殺死進程94
3.3.4作業(yè)控制95
3.4管理守護進程96
3.4.1初始化進程服務97
3.4.2使用Systemctl管理服務98
3.5監(jiān)視系統(tǒng)性能98
3.5.1系統(tǒng)監(jiān)視概述98
3.5.2top命令99
3.5.3mpstat命令100
3.5.4vmstat命令101
3.5.5iostat命令102
3.5.6性能分析標準的經驗準則103
3.6思考與實驗105
第4章網絡配置與遠程控制服務107
4.1Linux網絡配置107
4.1.1Linux網絡基礎107
4.1.2配置網絡參數108
4.1.3使用系統(tǒng)菜單配置網絡110
4.1.4使用nmcli管理網絡112
4.2遠程控制服務115
4.2.1SSH與OpenSSH115
4.2.2配置OpenSSH服務116
4.2.3安全密鑰驗證118
4.2.4遠程傳輸命令119
4.3Linux網絡工具120
4.3.1網絡測試工具121
4.3.2其他常用網絡工具122
4.4思考與實驗123
第5章vi編輯器與Shell腳本編程125
5.1vi編輯器125
5.1.1vi編輯器的啟動與退出126
5.1.2vi編輯器的工作模式128
5.1.3vi編輯器常用命令128
5.2Shell編程基礎131
5.2.1硬件、內核與Shell131
5.2.2bash的功能132
5.2.3Shell腳本簡介133
5.2.4Shell變量操作135
5.2.5Shell的變量鍵盤讀取、數組、聲明和個腳本程序137
5.2.6Shell腳本跟蹤與調試140
5.3判斷式141
5.3.1利用test命令的測試功能141
5.3.2判斷符號[]144
5.4條件判斷式145
5.4.1if語句145
5.4.2case語句147
5.5循環(huán)結構149
5.5.1whiledodone和untildodone(不定循環(huán))149
5.5.2fordodone語句(固定循環(huán))150
5.5.3fordodone的數值處理151
5.6函數152
5.7Shell腳本的應用153
5.8思考與實驗155
第6章DHCP服務和DNS服務156
6.1Samba服務器156
6.1.1SMB/CIFS協(xié)議和Samba簡介156
6.1.2Samba服務的安裝和管理157
6.1.3Samba服務器的配置160
6.2DHCP服務164
6.2.1DHCP簡介164
6.2.2DHCP服務的安裝與配置166
6.3DNS服務器171
6.3.1DNS系統(tǒng)與域名空間171
6.3.2DNS服務器類型172
6.3.3DNS查詢模式與解析過程173
6.3.4使用BIND配置DNS服務174
6.4Apache服務177
6.4.1Apache簡介177
6.4.2Apache的安裝與基本配置178
6.5思考與實驗183
參考文獻184