本書以Fedora 操作系統(tǒng)為例,全面介紹Linux操作系統(tǒng)的配置與管理,以培養(yǎng)技能型人才為目標(biāo),注重知識的實用性和可操作性,強調(diào)實踐技能訓(xùn)練。每章均采用教、學(xué)、做相結(jié)合的模式展開,首先深入淺出地講解Linux的相關(guān)基本概念,然后以案例的方式詳盡解析各種功能與命令,后配以完整的實踐手冊,提高學(xué)生的分析問題和實際動手解決問題的能力。 本書適合作為各類高等院校計算機專業(yè)及理工科類非計算機專業(yè)的學(xué)生學(xué)習(xí)Linux操作系統(tǒng)的入門教材,也是廣大Linux愛好者不可多得的入門級參考書。
Linux正成為越來越多的企業(yè)用戶和個人用戶的選擇,網(wǎng)絡(luò)服務(wù)器多以Linux操作系統(tǒng)為平臺搭建,使用者迫切需要掌握Linux系統(tǒng)的搭建、配置與管理的相關(guān)技能。本書以Fedora 發(fā)行版為操作平臺,講授Linux系統(tǒng)管理員所該掌握的各種命令的使用方法,內(nèi)容突出基礎(chǔ)全面深入的特點,同時強調(diào)實戰(zhàn)效果,因為只理解技術(shù)而不去實際應(yīng)用,是無法掌握技術(shù)的。具體內(nèi)容包括Linux的起源與簡介、Linux的安裝與界面、Linux文件與目錄管理、Linux磁盤與文件系統(tǒng)管理、Linux的vim與Bash、Shell腳本編程、Linux的用戶與組群管理以及Linux的軟件安裝與管理8章內(nèi)容,并在后以附錄的形式給出了模擬訓(xùn)練案例要求和具體的實現(xiàn)細(xì)節(jié)。
本書特色如下。
(1) 本書以項目實踐為導(dǎo)向,內(nèi)容涵蓋了Linux操作系統(tǒng)配置與管理的全部相關(guān)命令的操作方法,架起讓學(xué)生從Linux理論概念走向Linux應(yīng)用實踐操作的橋梁。
(2) 除第1章外,本書每章后均按照由淺入深、循序漸進的原則設(shè)置了實驗手冊,激發(fā)學(xué)生實際操作的欲望,幫助其一步步成長為一個優(yōu)秀的Linux系統(tǒng)管理員。
(3) 本書在內(nèi)容的選取、組織和編排上,強調(diào)先進性、實用性和技術(shù)性,不但適合作為學(xué)習(xí)Linux的教材,而且可以作為從事Linux管理工作的Linux愛好者的參考書。
本書條理清晰、結(jié)構(gòu)分明、通俗易懂,實用性與可操作性強,使用了大量的圖表對內(nèi)容進行表述和歸納,便于讀者理解及查閱,具有很強的實用性和指導(dǎo)性。每章從解決實際問題的角度出發(fā),設(shè)置了大量的典型應(yīng)用案例,每個實例都配有詳細(xì)的命令語法、使用目的、輸出結(jié)果以及常用的命令選項和特性,從而實現(xiàn)了理論與實踐的完美結(jié)合。程序的真實輸出保持原樣,沒有任何變動。
本書參考了國內(nèi)外大量文獻,借鑒了一些網(wǎng)絡(luò)上不知名作者的素材,在此謹(jǐn)向這些國內(nèi)外作者表示誠摯的感謝和崇高的敬意。
后,我要特別致謝一屆又一屆的同學(xué)們,是他們用問題構(gòu)建了本書的命令使用案例,也是他們的學(xué)習(xí)熱情使得本書的內(nèi)容更加完善充實,謹(jǐn)以此書獻給追求卓越的莘莘學(xué)子,也獻給參與本書文本與命令校驗工作的季書成、周陽、徐攀、劉承汿、宋義邦、王詩博、王傳璽、趙文政等同學(xué)。
由于作者水平有限,書中難免存在錯誤與不足,敬請讀者批評指正。愿本書與讀者一起成長,感謝讀者對本書的厚愛與支持。
曲海平2021年1月
曲海平,畢業(yè)于中國科學(xué)院計算技術(shù)研究所,獲工學(xué)博士學(xué)位。2011.09-2012.03 華為技術(shù)有限公司,中央軟件研究院,系統(tǒng)架構(gòu)師; 2012.03-至今魯東大學(xué),信息與電氣工程學(xué)院軟件工程系,講師, 2014.08-2015.01,美國加州州立大學(xué)富勒頓分校,工程與計算機學(xué)院,訪問學(xué)者。目前正在主持承擔(dān)山東省科技重點研發(fā)項目基于能耗感知的共享云計算平臺關(guān)鍵技術(shù)研究與示范(2015GGX101014, 2015.01-2016.12)。講授課程包括:高級語言程序設(shè)計、計算機組成原理、Linux應(yīng)用技術(shù)、網(wǎng)絡(luò)安全技術(shù)以及網(wǎng)絡(luò)存儲技術(shù)等多門本科生專業(yè)基礎(chǔ)課與選修課。
第1章Linux的起源與簡介1
1.1UNIX和GNU1
1.1.1操作系統(tǒng)基礎(chǔ)1
1.1.2UNIX的誕生與流行4
1.1.3GNU與GPL7
1.2Linux的誕生8
1.2.1從Minix到Linux8
1.2.2Linux的歷史變革9
1.2.3Linux的發(fā)展及前景10
1.3Linux簡介11
1.3.1Linux的組成11
1.3.2Linux版本概述12
1.3.3Linux的特性15
1.4本章小結(jié)16
1.5習(xí)題17第2章Linux的安裝與界面18
2.1實驗環(huán)境的安裝18
2.1.1VMware虛擬機的安裝18
2.1.2Fedora系統(tǒng)的安裝20
2.2Linux的界面28
2.2.1Linux的圖形用戶界面28
2.2.2Linux的字符界面30
2.3實驗手冊38
2.4本章小結(jié)45
2.5習(xí)題45第3章Linux文件與目錄管理47
3.1Linux文件與目錄的基本命令47
3.1.1查看文件與目錄命令ls48
3.1.2目錄的相關(guān)操作命令pwd、cd、mkdir49
3.1.3復(fù)制、移動與刪除命令cp、mv、rm51
3.2Linux目錄與目錄配置53
3.2.1Linux的目錄樹53
3.2.2Linux的目錄基本概念55
3.2.3全局變量PATH57
3.3Linux的文件權(quán)限設(shè)置57
3.3.1Linux的文件權(quán)限57
3.3.2桌面環(huán)境改變文件權(quán)限59
3.3.3修改文件權(quán)限的Shell命令61
3.3.4Linux文件的時間屬性65
3.4Linux文件的查閱與創(chuàng)建66
3.4.1文本文件查閱命令cat、more、less、head、tail66
3.4.2非文本文件查閱命令od70
3.4.3文件創(chuàng)建和生成的諸多方式71
3.4.4文件鏈接命令ln72
3.5Linux文件內(nèi)容的操作74
3.5.1文件內(nèi)容的排序與去冗命令sort、uniq74
3.5.2文件內(nèi)容統(tǒng)計命令wc76
3.5.3文件內(nèi)容比較命令comm、diff76
3.5.4文件內(nèi)容查詢命令grep78
3.6Linux的相關(guān)查找操作80
3.6.1文件的查找命令find、locate和whereis80
3.6.2進程的查找命令ps、top83
3.7實驗手冊88
3.8本章小結(jié)102
3.9習(xí)題102第4章Linux磁盤與文件系統(tǒng)104
4.1磁盤與文件系統(tǒng)概述104
4.1.1物理磁盤概述104
4.1.2Linux文件系統(tǒng)簡介106
4.2磁盤的分區(qū)、格式化、檢驗與掛載108
4.2.1磁盤分區(qū)109
4.2.2磁盤格式化111
4.2.3磁盤檢驗111
4.2.4磁盤分區(qū)掛載與卸載112
4.2.5查看磁盤分區(qū)和掛載信息113
4.2.6磁盤分區(qū)的開機自動掛載115
4.3兩種特殊的設(shè)備: loop與swap117
4.3.1tar與dd命令的使用117
4.3.2loop設(shè)備的掛載120
4.3.3swap分區(qū)的掛載122
4.4實驗手冊126
4.5本章小結(jié)144
4.6習(xí)題144第5章Linux的vim與Bash146
5.1vim編輯器146
5.1.1vi、vim與gvim146
5.1.2vim和gvim的安裝147
5.1.3vi/vim的使用148
5.2Shell與Bash150
5.3Bash的基本功能151
5.3.1解析命令行151
5.3.2通配符152
5.3.3命令別名153
5.3.4命令行自動補齊153
5.3.5管道與awk、cut命令154
5.3.6重定向158
5.3.7命令歷史記錄162
5.4Bash的環(huán)境變量163
5.4.1環(huán)境變量的概述與功能163
5.4.2變量的設(shè)置與取消164
5.4.3Bash的環(huán)境配置文件166
5.5實驗手冊167
5.6本章小結(jié)176
5.7習(xí)題177第6章Shell腳本編程178
6.1Shell腳本概述178
6.1.1Shell腳本的特點178
6.1.2Shell腳本的創(chuàng)建和執(zhí)行179
6.2Shell變量與運算181
6.2.1Shell的變量設(shè)置181
6.2.2Shell的運算183
6.2.3Shell的數(shù)組185
6.3Shell的流程控制187
6.3.1分支結(jié)構(gòu): test命令187
6.3.2分支結(jié)構(gòu): if語句188
6.3.3分支結(jié)構(gòu): case語句191
6.3.4循環(huán)結(jié)構(gòu): for語句195
6.3.5循環(huán)結(jié)構(gòu): while語句和until語句197
6.3.6break、continue語句199
6.4Shell函數(shù)調(diào)用200
6.4.1Shell中函數(shù)的定義201
6.4.2Shell函數(shù)的作用域203
6.5實驗手冊204
6.6本章小結(jié)211
6.7習(xí)題212第7章Linux的用戶與組群管理214
7.1用戶與組群的基本概念214
7.1.1用戶及相關(guān)配置文件214
7.1.2組群及相關(guān)配置文件217
7.2桌面環(huán)境下管理用戶218
7.3用戶與組群的Shell命令221
7.3.1管理組群的相關(guān)命令221
7.3.2管理用戶的相關(guān)命令222
7.3.3其他涉及的相關(guān)命令230
7.4批量創(chuàng)建與刪除用戶238
7.4.1基于兩個配置文件批量創(chuàng)建用戶賬號238
7.4.2基于一個配置文件批量創(chuàng)建用戶賬號240
7.4.3基于四個參數(shù)批量創(chuàng)建用戶賬號242
7.5實驗手冊245
7.6本章小結(jié)259
7.7習(xí)題259第8章Linux的軟件安裝與管理261
8.1Linux軟件包概述261
8.2RPM軟件包安裝262
8.2.1RPM軟件包介紹263
8.2.2rpm命令: 安裝、升級和卸載265
8.2.3rpm命令: 查詢、驗證和維護269
8.3dnf安裝273
8.3.1yum與dnf273
8.3.2dnf命令的使用275
8.3.3gnomesoftware的使用285
8.4源碼安裝288
8.4.1源碼安裝的步驟289
8.4.2源碼軟件的卸載與升級300
8.5實驗手冊301
8.6本章小結(jié)308
8.7習(xí)題309附錄A模擬試題精選310
A.1模擬試題1及答案310
A.1.1模擬試題1310
A.1.2模擬試題1參考答案311
A.2模擬試題2及答案318
A.2.1模擬試題2318
A.2.2模擬試題2參考答案319
A.3模擬試題3及答案327
A.3.1模擬試題3327
A.3.2模擬試題3參考答案328
A.4模擬試題4及答案336
A.4.1模擬試題4336
A.4.2模擬試題4參考答案337
附錄B課程設(shè)計案例345