图书简介:
第1章 认识并安装Linux 1
1.1 引言 1
1.2 操作系统介绍 2
1.2.1 计算机与服务器 2
1.2.2 操作系统的分类 3
1.2.3 Linux的应用领域 12
1.3 VMware Workstation的安装 14
1.4 在VMware虚拟机中安装Linux发行版 16
1.4.1 安装CentOS虚拟机 16
1.4.2 安装Rocky Linux虚拟机 24
1.4.3 安装Ubuntu虚拟机 28
1.4.4 安装Debian虚拟机 36
1.5 VMware虚拟机的使用和迁移 46
1.5.1 VMware虚拟机的使用 46
1.5.2 VMware虚拟机的迁移 49
1.6 VMware虚拟网络连接模式 52
1.7 习题 54
第2章 Linux系统应用基础 55
2.1 引言 55
2.2 Linux操作环境 56
2.2.1 Shell终端解释器 56
2.2.2 Linux桌面环境 58
2.3 Linux用户管理基础 62
2.3.1 Linux用户 62
2.3.2 Linux用户的创建与登录 63
2.4 Linux文件管理基础 68
2.4.1 Linux文件系统结构 68
2.4.2 Linux文件目录属性 70
2.4.3 Linux用户主目录 73
2.5 Linux常用命令快速入门 75
2.6 vi编辑器的基本使用 82
2.7 Linux远程终端连接 84
2.8 习题 88
第3章 Linux系统管理命令 90
3.1 引言 90
3.2 Linux的命令帮助信息 91
3.3 文件和目录管理 93
3.3.1 文件和目录操作 93
3.3.2 文件内容操作 108
3.4 文件压缩与解压缩 112
3.4.1 tar打包 112
3.4.2 gzip压缩/gunzip解压缩 115
3.4.3 zip压缩/unzip解压缩 115
3.5 Linux硬件资源管理 117
3.5.1 查看内存和磁盘(free/df/du) 117
3.5.2 资源监控(top/iotop) 118
3.5.3 查看系统信息(pciutils/usbutils) 120
3.6 Linux软件包管理 124
3.6.1 CentOS/Rocky Linux软件包管理 124
3.6.2 Ubuntu软件包管理 131
3.7 Linux网络管理 134
3.7.1 基本网络命令 135
3.7.2 网络配置文件 138
3.7.3 远程登录与文件下载 143
3.7.4 文件远程复制 145
3.8 Linux系统管理 147
3.8.1 Linux环境信息管理 148
3.8.2 Linux时钟管理 150
3.8.3 Linux进程管理 152
3.8.4 Linux服务管理 154
3.8.5 Linux文件系统挂载 156
3.9 Linux用户管理 158
3.9.1 Linux的多用户机制 158
3.9.2 Linux用户账号管理 160
3.10 习题 163
第4章 Linux系统应用实践 165
4.1 引言 165
4.2 JDK的安装 166
4.3 Tomcat的安装 170
4.4 Python3的编译安装 173
4.5 Nginx服务器的安装 176
4.6 MySQL的安装 179
4.6.1 在Ubuntu上安装MySQL 179
4.6.2 在Rocky Linux上安装MySQL 184
4.6.3 在CentOS上安装MySQL 187
4.7 Docker 189
4.7.1 虚拟化技术 189
4.7.2 容器技术(Docker) 190
4.7.3 Docker的安装与基本操作 193
4.8 CMS博客建站系统 203
4.9 Samba文件共享服务器 211
4.10 Ubuntu桌面开发环境的安装 217
4.10.1 Eclipse的安装 217
4.10.2 PyCharm的安装 221
4.11 习题 226
第5章 Linux系统高级技术 227
5.1 引言 227
5.2 Shell脚本编程入门 228
5.2.1 Shell概念理解 228
5.2.2 Shell脚本编程基础 229
5.2.3 Shell脚本编程简单实例 235
5.3 crontab定时计划任务 238
5.4 Linux内核及启动过程 240
5.4.1 Linux内核与硬件 240
5.4.2 Linux启动过程 243
5.5 习题 246
展开
Linux是一种操作系统,已经在社会的各行各业中得到广泛应用。不同于Windows中的鼠标操作,Linux是以命令的操作方式为主的,被广泛应用于服务器领域。基于系统性能、稳定性、资源节省等各方面的考虑,Linux一般不会运行图形化的用户界面。因此,要想顺利使用Linux,就必须先掌握Linux系统管理命令的功能和用法,它不像鼠标单击那么简单直接,这也间接导致了Linux的学习成本高、普及难度大等问题。另外,在使用Linux时还存在一个选择方面的问题,比如RHEL(Red Hat Enterprise Linux)、CentOS、Rocky Linux、Ubuntu、Debian等都属于常见的Linux发行版,每种Linux发行版都有自己的特色,有的开源且免费,而有的在商业服务上收费,但没有哪一种Linux发行版能够成为事实上的绝对标准。因此,初学者确实会面临一些选择方面的困惑。
目前,大部分书籍都是以某一种(如CentOS或Ubuntu)或同一系列(如RHEL/CentOS,或Debian/Ubuntu等)的Linux发行版为载体介绍Linux的使用方法的。其中,CentOS在企业服务器场合中应用较多,Ubuntu在人工智能领域中应用较多。不过,因为Linux本质上只是一个内核,就像汽车上的发动机一样,而基于“Linux内核+GNU应用软件”的发行版则有数百种,如同采用同一发动机的不同厂商的车型。在现实中,不同企业使用的Linux发行版各不相同,甚至同一家企业会同时采用多种Linux发行版。尽管Linux命令在不同的Linux发行版上基本是相通的,但是如果读者对一些常见的Linux发行版比较陌生,也不了解它们在使用上的一些差异,那么学习起来可能会存在一些困难,比如不同Linux 发行版在配置IP地址的做法上区别就比较大。此外,就Linux本身而言,命令确实属于Linux的精髓,很多书籍也都是侧重讲解Linux命令和参数的作用,以及使用方法的,由此带来的问题是,读者学起来很容易感觉枯燥和吃力,也不知道如何将其应用到实际场景中。为此,本书首先立足于简单操作案例的介绍,让读者对Linux命令有一个基本的了解和认识,在后续的系统管理命令操作演示过程中,辅以大量具有针对性的文字说明,帮助初学者理解命令的细节和注意点。与此同时,通过展示9个典型的应用案例,结合不同的功能需求将Linux应用到实际的工作中,也可以帮助读者进一步加深对Linux 命令的理解和记忆,从而达到学以致用的目的。最后,还有一个比较重要的问题,容器技术现在几乎成为Linux上搭建应用服务的标配,但市面上的Linux相关书籍大多未涉及这块内容,只有一些专门讲解Docker/Podman或K8s等容器技术的书籍,因此笔者在综合案例环节中,还安排了有关Docker容器技术的基本介绍和应用方面的内容。
CentOS源于RHEL,是开源且免费的,经过多年的发展在国内企业中普及度较高,积累了大量的用户群体。在2024年6月官方正式停止对CentOS的维护,取而代之的是CentOS Stream这个定位于上游的不稳定版(比如,一些试验性的新功能会首先出现在上游不稳定版中,经过不断测试修改稳定之后,就可以被下游的Linux发行版吸纳进去,这里所指的上、下游只是一个相对的概念),因此未来还将面临一些不确定性。但可以肯定的一点是,CentOS短期内并不会消失,要完全被其他Linux发行版替换也需要经历很长一段时间。与此同时,CentOS的创立者脱离原CentOS团队,并计划以Rocky Linux继续实现CentOS的最初使命。考虑到Rocky Linux与CentOS是二进制兼容的,它的使用方法与CentOS基本一致,因此本书也将Rocky Linux的介绍和使用纳入其中。
本书共5章,具体内容如下。
第1章首先介绍了计算机与服务器的概念、操作系统的分类及Linux的应用领域,阐述了在VMware Workstation(简称VMware)中安装CentOS、Rocky Linux、Ubuntu和Debian虚拟机的具体步骤,然后介绍了在VMware中使用和迁移虚拟机的方法,最后分析了几种常用的VMware虚拟网络连接模式。
第2章是Linux的快速入门,首先介绍了Shell终端解释器与Linux桌面环境,然后阐述了Linux用户的创建和登录方法,在此基础上介绍了Linux的文件系统结构、文件目录属性和用户主目录,并简要列出了Linux中常用的入门命令,最后讲述了vi编辑器的基本使用和Linux远程终端连接。
第3章讲述了Linux系统管理相关的命令,首先介绍了如何使用Linux的命令帮助信息,然后分类阐述了文件和目录管理、文件压缩与解压缩、Linux硬件资源管理、Linux软件包管理(CentOS/Rocky Linux和Ubuntu)、Linux网络管理、Linux系统管理和Linux用户管理相关的命令使用方法。
第4章介绍了Linux在实际场景中的应用案例,首先分别阐述了Linux平台上JDK的安装、Tomcat的安装、Python3的编译安装、Nginx服务器的安装、MySQL的安装,然后介绍了虚拟化技术的基本概念和Docker,并讲述了Docker的安装与基本操作,最后介绍了CMS博客建站系统的搭建、Samba文件共享服务器的搭建,以及常见的Ubuntu桌面开发环境的安装等内容。
第5章介绍了Linux的高级技术,内容包括Shell脚本编程入门、crontab定时计划任务和Linux内核及启动过程。其中,Shell脚本编程通过演示几个简单的例子来使读者了解脚本编程的基本概念,并通过文件批量创建这个脚本案例进一步展示了Shell编程在实际场景中的应用方法;Linux内核及启动过程介绍了Linux内核的功能以及与计算机硬件之间的关系,阐述了Linux的一般启动过程,以使读者对Linux有更深入的认识。
为使读者能够充分理解Linux命令和脚本代码,本书对命令和脚本代码采取了分栏的编排方式,其中,左栏是要输入的命令或脚本代码,右栏为命令或脚本代码的具体含义。在命令的运行过程中,阴影部分的内容为在命令提示符位置输入的命令,非阴影部分的内容为命令执行的输出结果,同时以备注性的文字对运行的命令进行辅助说明。例如:
cd /usr
ls
ls -l
ll ◇ cd命令用于切换目录,全称为change directory,后面跟着指定的目录
◇ ls命令用于列出当前目录下包含的文件,全称为list
◇ -l是命令参数,表示以长格式(long)列出文件的详细信息,每行显示一个文件
◇ ll是ls -l的别名,两者等价
demo@ubuntu-vm:~$
demo@ubuntu-vm:~$ cd /usr
demo@ubuntu-vm:/usr$ ls
bin games include lib lib32 lib64 libexec libx32 local sbin share src
demo@ubuntu-vm:/usr$ ls -l
总计 112
drwxr-xr-x 2 root root 36864 7月 23 21:56 bin
drwxr-xr-x 2 root root 4096 2月 23 2023 games
drwxr-xr-x 10 root root 4096 7月 23 19:35 include
drwxr-xr-x 98 root root 4096 7月 23 21:56 lib
drwxr-xr-x 2 root root 4096 2月 23 2023 lib32
drwxr-xr-x 2 root root 4096 2月 23 2023 lib64
...
demo@ubuntu-vm:/usr$ ll
总计 120
drwxr-xr-x 14 root root 4096 2月 23 2023 ./
drwxr-xr-x 20 root root 4096 7月 23 19:14 ../
drwxr-xr-x 2 root root 36864 7月 23 21:56 bin/
drwxr-xr-x 2 root root 4096 2月 23 2023 games/
drwxr-xr-x 10 root root 4096 7月 23 19:35 include/
drwxr-xr-x 98 root root 4096 7月 23 21:56 lib/
...
此外,虽然不同版本的Linux在命令操作上大体一致,但也存在一些细小的局部差异。为此,书中若是针对特定版本的Linux进行操作,则会增加对应的Logo进行标识,以指明以下操作所适用的Linux发行版。例如:
2.Docker的基本操作
这里列出了Ubuntu、CentOS、Rocky Linux的3 个Logo,说明此后的操作是同时适用于这3 个Linux发行版的。也就是说,如果只列出了其中的某一个Logo,那么此后的操作只适用于这一个Linux发行版;如果未列出任何Logo,那么说明这部分的操作适用于所有Linux发行版。
本书采用单色印刷,所涉及的颜色无法在书中呈现,请读者结合操作界面进行识别。
因Linux是开源的,其中的源代码由多人维护,所以系统运行结果中的字节单位不一致,如kB/K/M/G的单位应为KB/KB/MB/GB。
党的二十大报告指出,实施科教兴国战略,强化现代化建设人才支撑。坚持党管人才原则,坚持尊重劳动、尊重知识、尊重人才、尊重创造,实施更加积极、更加开放、更加有效的人才政策,引导广大人才爱党报国、敬业奉献、服务人民。
本书以企业人才岗位需求为目标,突出知识与技能的有机融合,让读者在学习过程中举一反三,培养创新思维,以适应高等职业教育人才的建设需求。
本书由杭州职业技术学院的李新辉、吴恒、杨乃如编著,书中部分项目素材由关联的校企合作企业提供。笔者在编写本书的过程中参考了部分网络资源,在此一并对提供这些资源的作者表示感谢。为方便教师教学,本书还配有电子课件及相关资源,包括虚拟机、源代码、PPT、教学设计、习题答案等,读者可登录华信教育资源网注册后免费下载。如果有问题,则可在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn),也可与笔者直接联系(E-mail:lxh2002@126.com)。
教材建设是一项系统工程,需要在实践中不断加以完善及改进,由于笔者水平有限,书中难免存在疏漏和不足之处,敬请同行专家与广大读者批评和指正。
编著者
展开