Ubuntu Linux操作系统(微课视频版)
主 编:张同光
CIP核准号:
出版单位:清华大学出版社
ISBN:
ISBN:
出版时间:2022.7
页码:310
定价:¥元
内 容 简 介
《Ubuntu Linux操作系统(微课视频版)》以Ubuntu的最新发行版Ubuntu 22.04 LTS为蓝本,坚持理论够用,侧重实用的原则,用案例/示例来讲解每个知识点,对Linux做了较为详尽的阐述,结构清晰,通俗易懂,力争做到使读者在兴趣中学习Linux。本书是一本比较好的Linux入门教材。本书针对的是技术型读者,主要是计算机及相关专业的学生。
本书共7章,主要内容包括:Linux简介与安装、Linux的用户接口与文本编辑器、系统管理、磁盘与文件管理、软件包管理、组建Linux局域网、提供Internet服务。
本书适合作为高等院校计算机及相关专业学生的教材,也可供培养技能型紧缺人才的机构使用。
《Ubuntu Linux操作系统(微课视频版)》对应的电子课件、实例源文件和虚拟机文件等教学资源可以到http://xxx.xxx.xxx网站下载。本书配套资源还提供了50个教学视频,读者在学习的过程中,扫描教学视频二维码可以观看视频。
前 言
Linux是一款免费的类UNIX操作系统,它继承了UNIX操作系统的强大功能和极高的稳定性。Linux最初由芬兰赫尔辛基大学的学生Linus Torvalds创建,并于1991年首次公布于众。Linus允许免费和自由的使用该系统的源代码,并鼓励其他人进一步对其进行开发。为了对Linux的发展有利,根据GNU GPL(General Public License,GNU通用公共许可证)对其内核进行发布,这样就赢得了许多专业人员的支持,将GNU项目的许多成果移植到了Linux操作系统上。在许多技术人员、研究人员和众多Linux爱好者的支持下,原Linux版本中的错误逐渐消除,并且不断添加新的功能。现在Linux已经成为一个功能强大、稳定可靠的操作系统。
Ubuntu(乌班图)是由开源厂商Canonical公司开发和维护的一种Linux发行版,是当今世界上最流行的Linux发行版之一,其版权遵循GNU GPL。它给PC机带来了UNIX工作站的强大功能和灵活性,并且提供了全套的因特网应用软件和功能齐全、简单易用的GUI桌面环境。
为了满足Linux操作系统教学方面的需求,笔者编写了《Ubuntu Linux操作系统(微课视频版)》这本书,介绍了在实际项目中常用的知识点和操作技巧,是广大读者步入Linux殿堂不可多得的一本指导书,为读者以后深入学习Linux打下坚实的基础。
一本好的入门教材可以让读者快速领悟Linux的操作方式和系统的基本使用。
目前Linux的入门教材主要针对两类读者:非技术型、技术型。
非技术型读者:对Linux不是真的感兴趣,只是用Linux上网、听音乐、编辑文档等。针对非技术型用户的入门教材以插图为主,讲的内容主要是在GUI下的操作(鼠标),所以,这种使用Linux的方式还是Windows的思维方式。
技术型读者:对Linux很感兴趣,针对技术型用户的入门教材,一开始就从系统的基本命令开始讲解,脱离Windows的思维方式,这样会给读者以后进一步的学习带来很大帮助,也能使读者逐步领悟Linux的精髓(命令行)所在。
本书针对的是技术型读者,主要是计算机专业或相关专业的学生。
本书共有7章,介绍了Ubuntu 22.04的许多方面。在第1章,简要介绍了Linux的起源、特点、内核版本和发行版本的区别,然后详细介绍了Ubuntu的安装过程;在第2章,介绍了Linux中的用户接口,特别是命令行,通过这部分的学习,读者可以真正成为Linux命令行的入门者,然后详细的介绍了Vim编辑器的使用,当远程维护Linux服务器时,Vim是常用的。Ubuntu在系统和文件管理方面,与标准的UNIX操作系统水平相当,这些功能在第3、4章中介绍。在第5章,主要介绍如何使用dpkg和apt命令进行软件包的管理。一直以来,Linux的长处在于网络服务方面,第6章介绍了组建Linux局域网方面的内容,有DHCP、Samba、NFS服务器以及防火墙等的配置;第7章对Ubuntu中的常用网络服务进行了介绍,这些网络服务有:DNS、WWW、FTP以及邮件服务器。
本书提供了50个教学视频,读者在学习的过程中,扫描教学视频二维码可以观看视频。
本书的重点在前4章,只有学好前4章,读者才算对Linux真正入门,后面几章的学习才会比较轻松,甚至可以自学。随着读者学习、掌握越来越多的计算机主要课程的相关知识,你就可以在Linux的世界里纵深发展了。因此,本书是一本比较好的入门教材。也希望读者在学习的过程中重基础、重理论,切忌浮躁。
本书编写时选用Ubuntu的最新发行版Ubuntu 22.04 LTS为蓝本。由于Ubuntu每隔半年会有新的发行版释出,因此,读者拿到本书时,很可能有Ubuntu 22.10/23.04/23.10/24.04/24.10等新的版本可以使用。在此,编者建议读者选用最新的Ubuntu发行版进行学习。因为本书的目的是为读者使用Linux打下坚实的基础,因此,本书所写多数内容为Linux操作系统共性的知识和技术,仍然适用于Ubuntu 22.04 LTS的若干后续版本。如果读者对系统的稳定性要求较高,建议读者使用长期支持版(LTS),比如Ubuntu 22.04、Ubuntu 24.04或Ubuntu 26.04。
《Ubuntu Linux操作系统(微课视频版)》—三级目录
第1章 Linux简介与安装 1
1.1 Linux简介 1
1.1.1 Linux的起源 2
1.1.2 Linux的特点 4
1.1.3 Linux的版本 4
1.2 硬盘分区 6
1.2.1 MBR分区 6
1.2.2 GPT分区 8
1.3 实例—VirtualBox中安装Ubuntu 10
1.3.1 安装VirtualBox 10
1.3.2 VirtualBox中安装Ubuntu 11
1.4 U盘安装Ubuntu 15
1.4.1 硬盘分区示例 15
1.4.2 Windows中制作Ubuntu的U盘安装盘 16
1.5 本书实验环境 16
1.5.1 VirtualBox的网络连接方式 16
1.5.2 本书实验环境 17
1.6 本章小结 18
1.7 习题 18
第2章 Linux的用户接口与文本编辑器 1
2.1 GNOME及其配置工具 1
2.1.1 GNOME 1
2.1.2 GNOME Shell和GNOME Classic 2
2.1.3 GNOME配置工具:dconf、gsettings、dconf-editor 4
2.1.4 GDM 5
2.1.5 gnome-session 5
2.1.6 输入法 6
2.2 Shell 6
2.2.1 控制台与终端 7
2.2.2 Shell命令行 8
2.2.3 命令、子命令、选项和参数的自动补全功能 9
2.2.4 历史命令:history 9
2.2.5 命令别名:alias 11
2.2.6 通配符与文件名 11
2.2.7 输入/输出重定向与管道 13
2.2.8 Linux快捷键 16
2.3 Linux中的文本编辑器简介 17
2.3.1 GNOME中的文本编辑器 18
2.3.2 Vi、Vim与Emacs文本编辑器 18
2.3.3 nano 19
2.4 Vim的5种编辑模式 19
2.5 实例—使用Vim编辑文件 22
2.6 本章小结 26
2.7 习题 26
第3章 系统管理 1
3.1 用户管理 1
3.1.1 用户管理:useradd、passwd、userdel、usermod、chage 1
3.1.2 组管理:groupadd、groupdel、groupmod、gpasswd、newgrp 5
3.1.3 用户查询:who、w、id、whoami、last、lastlog 7
3.1.4 su和sudo命令 10
3.2 进程管理 15
3.2.1 监视进程:ps、pstree、top 16
3.2.2 搜索进程:pgrep、pidof、ps|grep 21
3.2.3 终止进程:kill、killall、pkill、xkill 22
3.2.4 进程的优先级:nice、renice 24
3.2.5 前台进程与后台进程:command &、ctrl+z、jobs、fg、bg 26
3.2.6 周期性/定时执行任务:crontab、at、batch、watch 27
3.2.7 以守护进程方式执行任务:nohup 32
3.2.8 终端复用器:tmux 32
3.3 系统和服务管理 32
3.3.1 系统和服务管理器:systemd 32
3.3.2 监视和控制systemd的命令:systemctl 34
3.3.3 系统资源:单元(Unit) 35
3.3.4 Unit的配置文件 36
3.3.5 target(目标)、runlevel(运行级别) 39
3.3.6 Systemd定时器 41
3.3.7 使用Systemd开机自动启动用户程序 43
3.3.8 使用rc.local开机自动启动用户程序 44
3.3.9 Systemd系统管理 45
3.3.10 日志管理:journalctl 46
3.4 其它系统管理 47
3.4.1 查询系统信息:uname、hostname、free、uptime、dmidecode、lscpu、lsmem、lspci、lsusb 47
3.4.2 /proc目录和sysctl命令 50
3.4.3 系统日志和dmesg命令 52
3.4.4 关机等命令:shutdown、halt、reboot、poweroff、runlevel、logout 52
3.4.5 其它命令:man、date/hwclock、cal、eject、clear/reset 54
3.5 系统监视 56
3.5.1 GNOME系统监视器:gnome-system-monitor 56
3.5.2 系统活动情况报告:sar 56
3.6 本章小结 59
3.7 习题 59
第4章 磁盘与文件管理 1
4.1 磁盘管理 1
4.1.1 文件系统挂载:fdisk -l、mount、umount、findmnt、lsblk、blkid、partx、/etc/fstab、e2label 1
4.1.2 查看磁盘空间:df、du 8
4.1.3 其它磁盘相关命令:fdisk、mkfs、mkswap、fsck、vmstat、iostat 9
4.1.4 制作镜像文件:dd、cp、mkisofs 17
4.1.5 数据同步:sync 19
4.2 文件与目录管理 19
4.2.1 Linux文件系统的目录结构 19
4.2.2 查看目录内容:cd、pwd、ls、nautilus 21
4.2.3 查看文件内容:more、less、cat、tac、nl、head、tail、wc 24
4.2.4 检查文件类型:file、stat 26
4.2.5 文件完整性:cksum、md5sum 28
4.2.6 文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp 30
4.2.7 文件搜索命令:find、locate、which、whereis、type 34
4.2.8 文件操作命令:grep、sed、awk、tr 38
4.2.9 文件的追加、合并、分割:echo、cat、uniq、cut、paste、join、split 43
4.2.10 文件的比较、排序:diff、patch、cmp、sort 48
4.2.11 文件的链接:ln 52
4.2.12 设备文件:mknod 53
4.2.13 进程与文件:lsof 53
4.2.14 文件下载命令:curl、wget、HTTPie 56
4.2.15 数据镜像备份工具:rsync 57
4.3 文件与目录的安全 58
4.3.1 chmod与umask命令 58
4.3.2 chown命令 60
4.3.3 chgrp命令 61
4.3.4 chroot命令 62
4.4 强制位与粘贴位 62
4.5 文件隐藏属性:lsattr、chattr 64
4.6 访问控制列表(ACL):getfacl、setfacl、chacl、+ 65
4.7 文件的压缩与解压缩 70
4.7.1 gzip和gunzip命令 70
4.7.2 bzip2、bunzip2命令 72
4.7.3 xz命令 73
4.7.4 7z、7za、7zr命令 74
4.7.5 显示压缩文件的内容:zcat、zless、bzcat、bzless 74
4.7.6 tar命令 75
4.7.7 cpio命令 77
4.8 本章小结 78
4.9 习题 78
第5章 软件包管理 1
5.1 dpkg 1
5.1.1 dpkg简介 1
5.1.2 dpkg命令 2
5.2 APT 3
5.2.1 APT简介 3
5.2.2 apt命令 4
5.2.3 apt的配置文件 4
5.3 软件管理GUI 5
5.3.1 synaptic 5
5.3.2 gnome-software 5
5.3.3 tasksel 5
5.4 安装搜狗输入法 6
5.5 本章小结 6
5.6 习题 7
第6章 组建Linux局域网 1
6.1 网络接口配置 1
6.1.1 GUI方式:gnome-control-center、nm-connection-editor 1
6.1.2 CLI方式:nmcli 2
6.1.3 systemd-resolved和resolvectl 4
6.1.4 ifconfig、dhclient、route、ping、traceroute 6
6.1.5 net-tools与iproute2 9
6.2 DHCP服务器 12
6.2.1 DHCP概述 12
6.2.2 实例—配置DHCP服务器 14
6.2.3 实例—设置DHCP客户机 19
6.3 Samba服务器 21
6.3.1 Samba概述 21
6.3.2 实例—配置Samba服务器 22
6.3.3 Samba服务器的配置文件 23
6.3.4 实例—访问Samba共享的资源 25
6.4 NFS服务器 26
6.4.1 NFS服务简介 26
6.4.2 NFS服务器端的配置 26
6.4.3 访问NFS服务器的共享目录 28
6.5 防火墙的设置—iptables 28
6.5.1 Netfilter/iptables简介 29
6.5.2 iptables的语法及其使用 29
6.5.3 实例—防火墙的设置:iptables 31
6.5.4 实例—NAT的设置:iptables 34
6.6 防火墙的设置—firewalld 37
6.6.1 firewalld简介 37
6.6.2 firewalld配置:firewall-config、firewall-cmd 40
6.6.3 实例—NAT的设置:firewall-cmd 46
6.7 防火墙的设置—UFW 47
6.8 代理服务器Squid的设置 48
6.8.1 代理服务器Squid简介 49
6.8.2 实例—局域网使用Squid共享上网 50
6.9 本章小结 54
6.10 习题 54
第7章 提供Internet服务 1
7.1 SSH 1
7.1.1 SSH简介 1
7.1.2 SSH服务器的设置 2
7.1.3 SSH客户端的应用 2
7.1.4 SSH客户端通过密钥访问SSH服务器 2
7.2 Linux终端复用器——Tmux 3
7.2.1 Tmux简介 3
7.2.2 Tmux的会话、窗口、窗格 4
7.2.3 实例—登录远程服务器使用Tmux 6
7.3 DNS服务及配置 6
7.3.1 DNS概述 7
7.3.2 Bind 9
7.3.3 实例—配置DNS服务器 9
7.3.4 view指令 16
7.3.5 测试DNS服务器:nslookup、host、dig 18
7.3.6 辅助域名服务器 19
7.3.7 缓存Cache-only服务器 20
7.4 WWW服务器的设置——Apache 21
7.4.1 Apache 21
7.4.2 Apache服务器的默认配置 22
7.4.3 实例—静态网站建设 24
7.4.4 实例—为每个用户配置Web站点 24
7.4.5 实例—配置基于IP的虚拟主机 26
7.4.6 实例—基于主机的授权 27
7.4.7 实例—基于用户的认证 28
7.4.8 实例—组织和管理Web站点 30
7.4.9 实例—CGI运行环境的配置 31
7.4.10 实例—启用HTTPS 32
7.5 WWW服务器的设置——Nginx 33
7.5.1 安装Nginx 33
7.5.2 安装PHP和PHP-FPM 34
7.5.3 安装 MariaDB 35
7.5.4 MariaDB的简单使用 35
7.5.5 实例—动态网站建设(LNMP) 38
7.6 FTP服务器的设置 39
7.6.1 FTP概述 39
7.6.2 vsftpd服务器 41
7.6.3 实例—匿名用户上传下载文件 42
7.6.4 实例—本地用户上传下载文件 44
7.6.5 FTP客户端(FileZilla) 44
7.7 邮件服务器简介 44
7.8 本章小结 47
7.9 习题 47