Linux操作系统实用教程(Fedora)

Linux操作系统实用教程(Fedora)"

作者:张同光田文强石庆民安子强高雪霞田乔梅
ISBN:9787302599746
定价:¥69
字数:千字
页数:
出版时间:2022.03.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

本书以红帽系列Linux的**发行版Fedora 35为蓝本,坚持理论够用并侧重实用的原则,通过案例、示例讲解每个知识点,对Linux做了较为详尽的阐述。全书结构清晰、通俗易懂,力争使读者可以饶有兴趣地学习Linux。本书是一本优秀的Linux入门教材,主要针对技术型读者,尤其是计算机及相关专业的学生。

本书共7章,主要内容包括: Linux简介与安装、Linux的用户接口与文本编辑器、系统管理、磁盘与文件管理、软件包管理、组建Linux局域网、提供Internet服务。

本书适合作为本科院校及高职高专院校计算机相关专业学生的教材,也可供培养技能型紧缺人才的机构使用。

前言

Linux是一款免费的类UNIX操作系统,它继承了UNIX操作系统的强大功能和极高的稳定性。Linux最初由芬兰赫尔辛基大学的学生Linus Torvalds创建,并于1991年首次发布。Linus允许免费和自由地使用该系统的源代码,并鼓励其他人进一步对其进行开发。为了更利于Linux的发展,根据GNU GPL(general public license,通用公共许可证)可以对其内核进行发布,从而赢得了许多专业人员的支持,将GNU项目的许多成果移植到了Linux操作系统上。在许多技术人员、研究人员和众多Linux爱好者的支持下,原Linux版本中的错误逐渐消除,并且不断添加新的功能。现在Linux已经成为一个功能强大、稳定可靠的操作系统。

Fedora是Red Hat公司开发的一种Linux发行版,是当今世界上最流行的Linux发行版之一,其版权遵循GNU GPL。它给PC带来了UNIX工作站的强大功能和灵活性,并且提供了全套的因特网应用软件和功能齐全、简单易用的GUI桌面环境。

为了满足Linux操作系统教学方面的需求,编者编写了本书。本书介绍了在实际项目中常用的知识点和操作技巧,是广大读者步入Linux殿堂不可多得的一本指导书,可以为读者以后深入学习Linux打下坚实的基础。

一本好的入门教材可以让读者快速领悟Linux的操作方式和系统的基本应用方法。

目前Linux的入门教材主要针对两类读者: 非技术型读者和技术型读者。

非技术型读者: 对Linux不是太感兴趣,只是用Linux上网、听音乐、编辑文档等。针对非技术型读者的入门教材以插图为主,讲的内容主要是在GUI下的操作(用鼠标),所以这种使用Linux的方式还是Windows的思维方式。

技术型读者: 对Linux很感兴趣。针对技术型读者的入门教材,一开始就从系统的基本命令开始讲解,脱离Windows的思维方式,这样不仅会给读者以后进一步的学习带来极大的帮助,也能使读者逐步领悟Linux的精髓(命令行)所在。

本书针对的是技术型读者,主要是计算机专业或相关专业的学生。

本书共有7章。第1章主要介绍了Fedora的详细安装过程、引导工具GRUB2的使用。第2章介绍了Linux中的用户接口,特别是命令行。通过这部分的学习,读者可以真正成为Linux命令行的入门者;然后详细地介绍了vim编辑器的使用。当远程维护Linux服务器时,vim是常用的工具。Fedora在系统和文件管理方面与标准的UNIX操作系统水平相当,这些功能在第3和第4章中介绍。第5章主要介绍如何使用rpm和dnf命令进行软件包的管理。一直以来,Linux的优势在于网络服务方面。第6章介绍了组建Linux局域网方面的内容,有DHCP、Samba、NFS服务器以及防火墙等的设置。第7章对Fedora中的常用网络服务进行了介绍,这些网络服务有DNS、WWW、FTP以及邮件服务器。

本书的重点在前4章,只有学好前4章,读者才算对Linux真正入门,后面几章的学习才会比较轻松,甚至可以自学。随着读者学习的不断深入,就可以在Linux的世界里纵深发展了。本书是一本优秀的入门教材,希望读者在学习的过程中重基础、重理论,切忌浮躁。

本书编写时以Fedora的最新发行版Fedora 35为蓝本。由于Fedora每隔半年会有新的发行版出现,因此,读者拿到本书时,很可能有Fedora 36/37/38/39/40等新的版本可以使用。在此,编者建议读者选用最新的Fedora发行版进行学习。因为本书的目的是为读者使用Linux打下坚实的基础,因此,本书所写多数内容为红帽系列Linux操作系统共性的知识和技术,仍然适用于Fedora 35的若干后续版本。

本书由高校教师、北京邮电大学计算机专业博士张同光担任主编,由田文强、石庆民、安子强、高雪霞、田乔梅担任副主编,参加编写的人员还有刘春红和陈明。刘春红工作于河南师范大学,陈明工作于郑州轻工业大学,其他编者工作于新乡学院。其中,田文强编写第1章的1.1节、1.2节和第2章,石庆民编写第1章的1.3~1.5节和第4章的4.1节,安子强编写第3章的3.1节、3.2节和第4章的4.7节,高雪霞编写第6章的6.2~6.6节,田乔梅编写第3章的3.3~3.5节,刘春红和陈明编写第4章的4.8节,张同光编写第4章的4.2~4.6节、第5章、第7章及其余部分。其他执笔者还有田孝鑫、楚莉莉、王根运、张家平、宋丽丽、沈林、王晓兵等。全书最后由张同光统稿和定稿。

本书得到了河南省科技攻关项目(No.202102210146)和网络与交换技术国家重点实验室开放课题(SKLNST2020101)的支持,在此表示感谢。

由于编者水平有限,书中欠妥之处,敬请广大读者批评指正。

编者

2021年11月

目录

第1章Linux简介与安装1

1.1Linux简介1

1.1.1Linux的起源2

1.1.2Linux的特点4

1.1.3Linux的版本4

1.2硬盘分区7

1.2.1MBR分区7

1.2.2GPT分区9

1.3实例——在VirtualBox中安装Fedora11

1.3.1安装VirtualBox11

1.3.2安装Fedora12

1.4使用U盘安装Fedora19

1.4.1硬盘分区示例19

1.4.2实例——在Fedora中制作BIOS启动的U盘安装盘19

1.4.3实例——在Fedora中制作UEFI/BIOS启动的U盘安装盘21

1.5引导工具GRUB2的设置与应用22

1.5.1GRUB2与GRUB Legacy的区别22

1.5.2GRUB2配置文件23

1.5.3GRUB2脚本的修改24

1.5.4GRUB2多余引导项的删除27

1.5.5GRUB2命令行环境的常用命令27

1.5.6实例——GRUB2的应用30

1.6本章小结31

1.7习题31

第2章Linux的用户接口与文本编辑器33

2.1GNOME及其配置工具33

2.1.1GNOME33

2.1.2GNOME Shell和GNOME Classic34

2.1.3GNOME配置工具: gsettings、dconf、dconfeditor35

2.1.4GDM38

2.1.5gnomesession38

2.1.6输入法39

2.2Shell39

2.2.1控制台与终端40

2.2.2Shell命令行40

2.2.3命令、子命令、选项和参数的自动补全功能41

2.2.4历史命令: history41

2.2.5命令别名: alias43

2.2.6通配符与文件名44

2.2.7输入/输出重定向与管道46

2.2.8Linux快捷键49

2.3Linux中的文本编辑器简介51

2.3.1GNOME中的文本编辑器51

2.3.2vi、vim与Emacs文本编辑器51

2.3.3nano52

2.4vim的5种编辑模式53

2.5实例——使用vim编辑文件56

2.6本章小结60

2.7习题60

Linux操作系统实用教程(Fedora)

第3章系统管理62

3.1用户管理62

3.1.1用户管理命令: useradd、passwd、userdel、usermod、chage62

3.1.2组管理命令: groupadd、groupdel、groupmod、gpasswd、newgrp66

3.1.3用户查询命令: who、w、id、whoami、last、lastlog69

3.1.4su和sudo命令72

3.2进程管理79

3.2.1监视进程命令: ps、pstree、top79

3.2.2搜索进程命令: pgrep、pidof、ps|grep86

3.2.3终止进程命令: kill、killall、pkill、xkill87

3.2.4进程的优先级命令: nice、renice89

3.2.5前台进程和后台进程命令与快捷键: command &、Ctrl+z、jobs、fg、bg91

3.2.6周期性/定时执行任务命令: crontab、at、batch、watch91

3.2.7以守护进程方式执行任务命令: nohup97

3.2.8终端复用器: tmux97

3.3系统和服务管理97

3.3.1系统和服务管理器: systemd97

3.3.2监视和控制systemd的命令: systemctl98

3.3.3系统资源: 单元100

3.3.4单元的配置文件101

3.3.5target(目标)、runlevel(运行级别)104

3.3.6systemd定时器107

3.3.7使用systemd开机自动启动用户程序109

3.3.8使用rc.local开机自动启动用户程序110

3.3.9systemd系统管理111

3.3.10日志管理: journalctl112

3.4其他系统管理113

3.4.1查询系统信息: uname、hostname、free、uptime、dmidecode、lscpu、

lsmem、lspci、lsusb113

3.4.2/proc和sysctl命令117

3.4.3系统日志和dmesg命令119

3.4.4关机等命令: shutdown、halt、reboot、poweroff、runlevel、logout、

startx120

3.4.5其他命令: man、date/hwclock、cal、eject、clear/reset121

3.5系统监视124

3.5.1GNOME系统监视器: gnomesystemmonitor命令124

3.5.2系统活动情况报告: sar命令124

3.6本章小结128

3.7习题128

第4章磁盘与文件管理130

4.1磁盘管理130

4.1.1文件系统挂载命令和文件: fdisk l、mount、umount、findmnt、lsblk、

blkid、partx、/etc/fstab、e2label/xfs_admin130

4.1.2查看磁盘空间命令: df、du138

4.1.3其他磁盘相关命令: fdisk、mkfs、mkswap、fsck、vmstat、iostat140

4.1.4制作镜像文件命令: dd、cp、mkisofs148

4.1.5数据同步命令: sync150

4.2文件与管理151

4.2.1Linux文件系统的结构151

4.2.2查看内容命令: cd、pwd、ls、nautilus153

4.2.3查看文件内容命令: more、less、cat、tac、nl、head、tail、wc157

4.2.4检查文件类型命令: file、stat159

4.2.5文件完整性命令: cksum、md5sum161

4.2.6文件与的创建、复制、删除、转移及重命名命令: touch、mkdir、

rmdir、mv、rm、cp163

4.2.7文件搜索命令: find、locate、which、whereis、type168

4.2.8文件操作命令: grep、sed、awk、tr172

4.2.9文件的追加、合并、分割命令: echo、cat、uniq、cut、paste、join、split179

4.2.10文件的比较、排序命令: diff、patch、cmp、sort185

4.2.11文件的链接命令: ln190

4.2.12设备文件命令: mknod191

4.2.13进程与文件命令: lsof192

4.2.14文件下载命令: curl、wget、HTTPie194

4.3文件与的安全196

4.3.1chmod与umask命令196

4.3.2chown命令199

4.3.3chgrp命令200

4.3.4chroot命令200

4.4强制位与粘贴位201

4.5文件隐藏属性: lsattr、chattr命令203

4.6访问控制列表(ACL): getfacl、setfacl、chacl命令205

4.7文件的压缩与解压缩210

4.7.1gzip和gunzip命令210

4.7.2bzip2、bunzip2命令213

4.7.3xz命令213

4.7.47z、7za命令214

4.7.5zcat、zless、bzcat、bzless命令215

4.7.6tar命令215

4.7.7cpio命令218

4.8文件关联219

4.8.1MIME类型219

4.8.2添加自定义MIME类型220

4.9本章小结222

4.10习题222

第5章软件包管理225

5.1RPM225

5.1.1RPM简介225

5.1.2RPM的使用227

5.2DNF232

5.2.1DNF简介232

5.2.2使用dnf命令232

5.2.3DNF的配置文件234

5.2.4BaseOS和Application Stream237

5.2.5安装第三方源239

5.2.6创建本地仓库240

5.2.7升级系统(Fedora)241

5.3软件包管理GUI: gnomesoftware命令241

5.4本章小结241

5.5习题242

第6章组建Linux局域网243

6.1网络接口配置243

6.1.1GUI方式: gnomecontrolcenter、nmconnectioneditor命令244

6.1.2CLI方式: nmcli命令245

6.1.3systemdresolved和resolvectl命令247

6.1.4ifconfig、dhclient、route、ping、traceroute命令250

6.1.5nettools与iproute2工具包253

6.2DHCP服务器257

6.2.1DHCP概述257

6.2.2实例——设置DHCP服务器258

6.2.3实例——设置DHCP客户机264

6.3Samba服务器266

6.3.1Samba概述266

6.3.2实例——配置Samba服务器267

6.3.3Samba服务器的配置文件269

6.3.4SELinux: getsebool、setsebool、chcon、restorecon命令271

6.4NFS服务器276

6.4.1NFS服务简介276

6.4.2NFS服务器端的配置276

6.4.3NFS客户端的配置279

6.5防火墙的设置——iptables279

6.5.1Netfilter/iptables简介279

6.5.2iptables的语法及其应用280

6.5.3实例——防火墙的设置: iptables282

6.5.4实例——NAT的设置: iptables285

6.6防火墙的设置——firewalld289

6.6.1firewalld简介289

6.6.2firewalld配置: firewallconfig、firewallcmd命令292

6.6.3实例——NAT的设置: firewallcmd命令300

6.7代理服务器Squid的设置301

6.7.1代理服务器Squid简介302

6.7.2实例——局域网使用Squid共享上网303

6.8本章小结308

6.9习题308

第7章提供Internet服务311

7.1SSH311

7.1.1SSH简介311

7.1.2SSH服务器的设置312

7.1.3SSH客户端的应用312

7.1.4SSH客户端通过密钥访问SSH服务器313

7.2Linux终端复用器——Tmux313

7.2.1Tmux简介313

7.2.2Tmux的会话、窗口、窗格314

7.2.3实例——登录远程服务器使用Tmux316

7.3DNS服务及配置317

7.3.1DNS概述317

7.3.2Bind319

7.3.3实例——设置DNS服务器319

7.3.4view命令327

7.3.5测试DNS服务器: nslookup、host、dig命令330

7.3.6辅助DNS服务器332

7.3.7Cacheonly服务器332

7.4WWW服务器的设置——Apache333

7.4.1Apache333

7.4.2Apache服务器的默认配置333

7.4.3实例——静态网站建设335

7.4.4实例——为每个用户配置Web站点335

7.4.5实例——配置基于IP地址的虚拟主机337

7.4.6实例——基于主机的授权339

7.4.7实例——基于用户的认证340

7.4.8实例——组织和管理Web站点342

7.4.9CGI运行环境的配置343

7.5WWW服务器的设置——Nginx344

7.5.1安装 Nginx345

7.5.2安装PHP和PHPFPM345

7.5.3安装 MariaDB345

7.5.4MariaDB的简单应用346

7.5.5实例——动态网站建设(LNMP)350

7.6FTP服务器的设置351

7.6.1FTP概述351

7.6.2实例——设置FTP服务器(vsftpd)353

7.6.3FTP客户端(FileZilla)357

7.7邮件服务器简介358

7.8本章小结360

7.9习题361

附录网站资源362

参考文献363

作者简介

编辑推荐

本书的重点在前4章,只有学好前4章,读者才算对Linux真正入门,后面几章的学习才会比较轻松,甚至可以自学。随着读者学习、掌握越来越多的计算机主要课程的相关知识,你就可以在Linux的世界里纵深发展了。因此,本书是一本比较好的入门教材。也希望读者在学习的过程中重基础、重理论,切忌浮躁。

作者寄语

张同光,男,43岁,博士,副教授,主要从事计算机方面的教学及科研工作,发表论文30余篇,主编教材10余本,主持项目3个。      

教授的课程:《Linux 0.11内核分析》、《Linux操作系统》、《嵌入式软件开发基础》、《Linux C编程》、《Linux网络服务与编程》、《Linux驱动程序设计》、《嵌入式软件开发高级》、《软件工程》、《C++程序设计》、《微机原理》、《网络原理》、《计算机专业英语》、《操作系统原理》、《离散数学》、《计算机组成原理》、《C程序设计》、《数据结构》、《汇编语言》、《网络安全技术》等。张同光,男,43岁,博士,副教授,主要从事计算机方面的教学及科研工作,发表论文30余篇,主编教材10余本,主持项目3个。      

教授的课程:《Linux 0.11内核分析》、《Linux操作系统》、《嵌入式软件开发基础》、《Linux C编程》、《Linux网络服务与编程》、《Linux驱动程序设计》、《嵌入式软件开发高级》、《软件工程》、《C++程序设计》、《微机原理》、《网络原理》、《计算机专业英语》、《操作系统原理》、《离散数学》、《计算机组成原理》、《C程序设计》、《数据结构》、《汇编语言》、《网络安全技术》等。

电子资料

www.luweidong.cn

下一个