
本书以于RHEL 8.2/CentOS 8.2为基础,循序渐进讲解Linux操作系统的基本概念及使用方法,共10个项目,包括Linux的基本概念、Linux安装和配置、Linux文件系统、Linux磁盘管理、Linux用户和权限管理、Linux软件包管理、Linux文本处理、Linux网络与安全管理、SHELL编程基础及LAMP应用服务搭建等内容。 本教材采用项目驱动的编写方式,配有大量的范例,内容通俗易懂,适合注重实践教学环节的教学方式,具有较强的实用性。本教材适合作为应用型本科院校、高等职业院校计算机相关专业的教材,也可作为相关技术人员的参考用书。
前 言 随着互联网的快速发展,Linux得到了许多软件爱好者、IT/互联网公司的支持,Linux的全称是GNU/Linux,是一个免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的支持多用户、多任务、多线程和多CPU的操作系统。 Linux是免费、开源的操作系统,以稳定性、安全性著称,目前在许多大、中型企业得到广泛部署和应用,很多IT/互联网公司都在业务中广泛使用Linux。随着以“云、大、物、智”为代表的新一代信息技术的迅猛发展,企业对Linux人才的需求急剧增长,但目前Linux人才的数量还无法满足市场需求,人才供需矛盾日益凸显。因此,Linux在高等院校计算机及相关专业教学中的地位越来越高,在大多数院校中被列为必修课程。 本书面向应用型本科院校、高等职业院校计算机相关专业的学生。为了让读者能够真正掌握Linux的相关知识及技能,具备解决实际问题的工程能力,编者结合自己多年的教学经验和企业实践经验,精心编写了本书。本书以实用性为宗旨,介绍Linux的基本知识及基础命令,每个项目提供多个案例,让读者通过动手实践全面掌握Linux的使用。 本书分为10个项目,包括Linux概述与安装、Linux基本操作与命令行基础、Linux文件与磁盘管理、Linux用户与权限管理、Linux系统与进程管理、Linux软件包管理、Linux文本处理、Linux网络与安全管理、Shell编程基础及LAMP应用服务搭建。 本书由曾德生、庞双龙担任主编,由骆金维、邵翠、唐玉芳、陈晓丹担任副主编。其中项目1由曾德生编写,项目2由曾德生和付军编写,项目3由庞双龙编写,项目4由邵翠编写,项目5由唐玉芳编写,项目6由陈晓丹编写,项目7由曾德生和陈孟祥编写,项目8由曾德生和刘倍雄编写,项目9由骆金维编写,项目10由曾德生、谢品章和张松柏编写,全书由曾德生统稿。 在本书的编写过程中,广东创新科技职业学院、中山大学新华学院、广东海洋大学寸金学院、广东环境保护工程职业学院、广东理工职业学院的多名教师对本书提出了许多宝贵的意见;在LAMP应用部署方面,智汇融云信息技术(深圳)有限公司的张松柏总经理和鲲鹏生态发展部张润泽副部长对本书提供了较大帮助。在此,向所有为本书的出版做出贡献的人员表示衷心的感谢! 尽管我们尽了最大努力,但书中难免有不妥之处,欢迎广大读者提出宝贵意见,不胜感激。 编 者 2020年11月 2017年4月
目 录 项目1 Linux概述与安装 1 任务1.1 什么是Linux 1 1.1.1 初识Linux 1 1.1.2 Linux的诞生 2 任务1.2 Linux的体系结构及特点 2 1.2.1 Linux的体系结构 2 1.2.2 Linux的特点 6 任务1.3 Linux的发行版本 7 1.3.1 Red Hat系列发行版本 8 1.3.2 Debian系列发行版本 8 1.3.3 其他系列发行版本 9 任务1.4 CentOS 8.2安装 10 1.4.1 安装前的准备 11 1.4.2 安装 14 1.4.3 初次启动 29 习题 31 项目2 Linux基本操作与命令行基础 32 任务2.1 GNOME桌面环境的基本操作 32 2.1.1 Linux桌面环境概述 32 2.1.2 GNOME桌面环境登录 33 2.1.3 Nautilus文件管理器 40 2.1.4 其他应用程序 43 2.1.5 系统设置 49 任务2.2 命令行入门 60 2.2.1 Bash概述 60 2.2.2 虚拟控制台 61 2.2.3 命令行基本语法 61 2.2.4 GNOME终端 67 2.2.5 自动补齐 67 2.2.6 历史命令 68 习题 69 项目3 Linux文件与磁盘管理 70 任务3.1 文件系统 70 3.1.1 文件系统简介 70 3.1.2 目录结构 70 3.1.3 文件名和类型 71 任务3.2 常用的文件管理命令 72 3.2.1 文件查看 72 3.2.2 文件的常用操作 76 3.2.3 目录管理 79 3.2.4 文件查找 81 3.2.5 文件压缩和归档 82 任务3.3 磁盘管理 84 3.3.1 磁盘分区与文件系统创建 84 3.3.2 交换分区 90 3.3.3 挂载与卸载 91 习题 93 项目4 Linux用户与权限管理 95 任务4.1 用户和组 95 4.1.1 用户和组的基本概念 95 4.1.2 用户和组的相关文件及目录 97 任务4.2 用户和组管理 99 4.2.1 用户管理命令 99 4.2.2 组管理命令 101 4.2.3 其他与用户和组相关的命令 103 4.2.4 图形化管理工具 106 任务4.3 权限管理 108 4.3.1 用户分类 108 4.3.2 权限分类 108 4.3.3 权限管理命令 110 4.3.4 用户掩码与特殊权限 112 4.3.5 文件属性控制 115 习题 117 项目5 Linux系统与进程管理 118 任务5.1 系统初始化 118 5.1.1 系统初始化概述 118 5.1.2 系统执行级别 119 任务5.2 进程管理 120 5.2.1 进程概述 120 5.2.2 进程管理的相关命令 122 5.2.3 周期性任务调度 128 任务5.3 服务控制 131 5.3.1 服务概述 131 5.3.2 service 服务控制 131 5.3.3 systemd 服务控制 133 习题 135 项目6 Linux软件包管理 136 任务6.1 软件包管理概述 136 任务6.2 rpm软件包管理器 137 6.2.1 安装 138 6.2.2 升级 140 6.2.3 查询 140 6.2.4 删除 142 6.2.5 验证 142 任务6.3 yum与dnf软件包管理器 143 6.3.1 安装 144 6.3.2 升级 145 6.3.3 查询 145 6.3.4 删除 147 6.3.5 dnf软件包管理器 147 习题 149 项目7 Linux文本处理 150 任务7.1 Vim概述 150 7.1.1 什么是Vim 150 7.1.2 Vim的启动与退出 151 任务7.2 Vim的模式 152 7.2.1 Vim的模式概述 152 7.2.2 模式间的切换 153 任务7.3 Vim的基本操作 154 7.3.1 复制、粘贴与删除 154 7.3.2 查找与替换 156 7.3.3 跳转与定位 162 7.3.4 撤销与重做 163 7.3.5 语法高亮显示设置 164 7.3.6 光标位置显示及行号显示 164 7.3.7 Vim的可视化操作 166 习题 169 项目8 Linux网络与安全管理 170 任务8.1 网络管理 170 8.1.1 网络信息 170 8.1.2 GUI下的网络信息配置 171 8.1.3 CLI下的网络信息配置 173 任务8.2 防火墙管理 178 8.2.1 防火墙概述 178 8.2.2 配置防火墙 179 任务8.3 SELinux 182 8.3.1 SELinux概述 182 8.3.2 SELinux的基本操作 184 8.3.3 调整SELinux的策略 187 8.3.4 管理SELinux端口标签 190 任务8.4 日志管理 192 8.4.1 日志概述 192 8.4.2 查看日志 193 8.4.3 简单的故障诊断 198 习题 203 项目9 Shell编程基础 204 任务9.1 Shell概述 204 9.1.1 Shell分类 205 9.1.2 Bash 205 任务9.2 Shell的基本语法 205 9.2.1 变量 206 9.2.2 语法格式 207 任务9.3 Shell程序流程控制 209 9.3.1 顺序结构 210 9.3.2 分支结构 210 9.3.3 循环结构 215 任务9.4 Shell的应用 219 9.4.1 文件检查 219 9.4.2 批量添加用户 221 习题 222 项目10 LAMP应用服务搭建 223 任务10.1 LAMP概述 223 10.1.1 什么是LAMP 223 10.1.2 LAMP应用场景 224 任务10.2 网盘系统的搭建 225 10.2.1 LAMP部署 225 10.2.2 Seafile安装及配置 230 10.2.3 验证云存储系统的基本功能 239 习题 246 参考文献 247
http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0403300