第1章 Linux操作系统概述
课程介绍
本章学习目标
-
了解什么是自由软件及相关词语
-
掌握Linux操作系统的组成及特点
-
了解Linux操作系统的内核特点
-
了解Linux的常用发行版本
1.1 自由软件简介
软件类别
按其提供的方式和是否可以赢利,可将软件分为四类:
-
商业软件(commercial software):由商业公司开发,通过收取使用费盈利。
-
共享软件(shareware):只能试用一段时间或某些功能受限,需注册付费才能完全使用。
-
自由软件(free software):自由使用、复制,公开源代码供研究、修改和分发。
-
免费软件(freeware):无需付费、无限制使用,但不能擅自修改,通常嵌入广告盈利。
自由软件的含义
自由软件指用户拥有以下三种自由:
-
研究程序运行机制,源代码公开并根据需要修改的自由。
-
重新分发拷贝,以使他人能够共享软件的自由。
-
改进程序并分发改进版的自由。即用户拥有运行、拷贝、研究和改进软件的自由。
自由软件相关词语
-
FSF(Free Software Foundation):自由软件基金会,致力于发展和革新自由软件,提供源代码并支持技术和法律。
-
GPL(General Public License):通用公共许可协议,与传统商业软件许可协议CopyRight对立,被戏称为CopyLeft。GPL保证任何人都有共享和修改自由软件的自由。
-
GNU工程:一个为创建完全自由的操作系统而定义的工程,目标是开发对Unix向上兼容的自由软件系统。
-
POSIX标准(Portable Operating System Interface):推动Linux操作系统正规化发展的重要标准。
1.2 Linux操作系统概述
1.2.1 Linux的发展历史
Linux是一种自由和开放源码的类Unix操作系统。其核心由Linus Torvalds开发,并逐步成为广泛使用的操作系统,应用于各种计算设备中。
Linux操作系统的发展领域
-
服务器领域:广泛应用于各种服务器。
-
桌面领域:逐步扩展至个人计算机用户。
-
移动嵌入式领域:在手机、平板电脑等移动设备中得到应用。
-
云计算/大数据领域:成为云服务器和大数据处理的主要操作系统。
1.2.2 Linux的内核版本与发行版本
内核版本
Linux内核版本由三个数字组成:
-
r.x.y,其中r是主版本号,x是次版本号,y是修订版本号。2.6之前偶数版本为稳定版,奇数版本为开发版;3.0之后x为新版本发布时增加,y为错误修补次数。
发行版本
不同厂商将内核、源代码及应用程序组织成完整的操作系统,称为发行版本。常见发行版本有Red Hat Linux、CentOS、Mandrake Linux、Ubuntu Linux等。
1.2.3 Linux软件体系结构
-
设备驱动程序层
-
Linux内核
-
系统调用接口
-
语言函数库
-
Linux Shell
-
Linux应用程序
1.2.4 Linux的版本
常见发行版本
-
红旗Linux
-
SUSE Linux
-
Ubuntu Linux
-
Red Hat Linux
-
Debian Linux
-
Gentoo Linux
-
CentOS
-
Linux Mint
-
Mandrake Linux
-
Turbo Linux
-
中标普华Linux
-
蓝点Linux
-
Xteam Linux
Android及其衍生系统
-
Android:基于Linux平台的开源手机操作系统,由Google发布。最新版本为Android 7,广泛应用于三星、LG、华为、小米等品牌的手机和平板电脑。
-
衍生系统:包括小米的MIUI、华为的Emotion UI、魅族的Flyme OS等。
1.2.5 Linux的特点
-
开放性:源代码公开。
-
多用户:支持多用户操作。
-
多任务:支持多任务处理。
-
良好的用户界面。
-
设备独立性:所有外部设备都当作文件对待。
-
丰富的网络功能。
-
可靠的系统安全性。
-
良好的可移植性:兼容其他Unix系统,支持多种文件系统。
-
高效的内核:内核小、效率高,更新速度快。
1.2.6 关于CentOS
CentOS是社区企业操作系统,是由Red Hat Enterprise Linux的源代码编译而成。Red Hat公司将Red Hat Linux开发计划与Fedora计划整合成Fedora Project,由社区参与开发。
思考与实践
-
什么是自由软件,什么是GPL、GNU?
-
Linux操作系统的内核版本有什么特点?
-
简述Linux操作系统的组成及特点。
-
常用的Linux操作系统有哪些版本?掌握在Internet上获取某一版本的Linux系统的途径及方法。
第2章 Linux系统的环境搭建
本章学习目标
-
掌握Linux操作系统的安装方式及安装步骤
-
了解Linux操作系统的分区方法
-
掌握VMWare平台下的Linux虚拟机与主机的网络构建
-
了解Linux系统的启动过程
-
掌握Linux操作系统的注销、关闭方式
2.1 Linux系统的安装准备
2.1.1 CentOS 7安装程序的获取
-
免费从网上下载:可以从官方开源镜像网站下载http://mirror.centos.org
-
ISO镜像版本:例如,CentOS-7-x86_64-DVD-1804.iso,其中x86_64表示64位系统兼容32位,1804是版本号,DVD是镜像版本。
2.1.2 硬件需求
-
硬件的兼容性:CentOS 7应与最近两年的多数硬件兼容,具体可在官方网站查询。
-
最低配置要求:
-
CPU:
-
硬盘空间:
-
内存:
2.1.3 镜像文件的安装方式
-
虚拟系统安装:在Windows系统下,使用虚拟系统平台软件安装并启动Linux系统。
-
光盘引导安装:将ISO镜像文件刻录成CD/DVD,由CD/DVD盘启动引导安装。
-
USB disk引导安装:用USBWriter等软件将ISO镜像文件制作成启动优盘。
-
网络安装:使用NetInstall网络安装版的ISO镜像文件,需要计算机具备上网条件。
2.2 Linux操作系统的安装
2.2.1 Linux的安装步骤
-
选择界面安装
-
语言选择
-
选择安装信息
-
选择安装软件
-
设置磁盘分区方案:默认分区为自动分区。自动分区将破坏原有分区信息,需手动分区时选择手动分区方式。
-
手动分区:必须建立的分区包括:
-
/:根目录分区
-
/boot:引导分区
-
SWAP:交换分区
-
其他分区如/home(用户目录分区)、/var(易变文件系统分区)
-
设置根口令及验证
2.2.2 Linux系统的升级
-
系统升级:升级前备份重要数据,以降低风险。
-
内核升级:需谨慎操作,版本跨度大或汉化内核等操作不同,升级失败可能导致系统不稳定或崩溃。
2.2.3 Linux系统的删除
-
使用Linux安装光盘删除操作:适用于同时安装Linux和Windows系统时。
-
使用类似Disk Genius分区工具软件或GHOST镜像方法进行删除。
2.3 Linux系统的多重引导安装
2.3.1 磁盘分区基础
-
硬盘分区可分为主分区、扩展分区、逻辑分区。主分区1-3个,扩展分区0-1个,逻辑分区无限制。
-
磁盘设备名:
-
IDE接口第一块硬盘为/dev/hda,第一分区为/dev/hda1
-
SCSI接口第一块硬盘为/dev/sda,第一分区为/dev/sda1
2.3.2 Linux和Windows操作系统多重引导安装
-
在同一台计算机上安装多种操作系统,建议先安装Windows,然后进行Linux分区。
2.4 VMware虚拟机下安装Linux系统
2.4.1 VMware简介
VMware workstation可以在现有操作系统上虚拟另一个操作系统,构建多个虚拟计算机系统。主操作系统为真实计算机上的操作系统,客户操作系统为虚拟计算机上的操作系统。
2.4.2 VMware虚拟机下创建Linux操作系统
-
VMware的安装:安装虚拟网络适配器。
-
创建新的Linux虚拟机:设定虚拟系统所占用主机文件系统的最大磁盘空间。
2.4.3 移植已安装的Linux虚拟系统
虚拟系统的主要硬件是虚拟的,有良好的移植性,可在另一台计算机上运行。
2.4.4 Linux虚拟系统与主机之间的网络构建
-
网络模式:桥接模式、NAT模式、仅主机模式。
-
网络配置:设置虚拟机的网络配置和虚拟网卡的网络配置。
-
模式更改
-
访问测试:通过ping命令和SSH终端进行测试。
2.4.5 Linux虚拟系统与主机之间的文件传输
-
本地共享:通过优盘挂载或本地磁盘挂载。
-
远程传输:通过SSH进行文件传输。
2.5 Linux系统的启动与关闭
2.5.1 Linux系统的启动引导步骤
-
加载BIOS
-
进入GRUB
-
加载Linux Kernel
-
执行init
-
运行/etc/rc.d/rc.sysinit
-
执行/etc/inittab
-
执行默认级别中的所有Script
-
执行/bin/login程序
2.5.2 Linux系统的引导
GRUB是用于加载和管理系统启动的程序。系统启动菜单包括普通模式和救援模式。
2.5.3 Linux系统的登录
-
登录模式:图形界面模式和字符命令模式。
-
模式切换:通过命令切换启动模式。
2.5.4 系统的注销与关闭
-
注销:字符界面下输入logout或exit命令。
-
关闭系统:通过halt、reboot、poweroff命令关闭系统。
-
多用户状态下的shutdown命令:提供单用户维护模式、定时关机、发送警告信息等功能。
2.7 思考与实践
-
Linux系统的自定义分区要求有哪些?
-
简述Linux系统的启动过程。
-
举例说明Windows和Linux系统共存的磁盘分区命名要求。
-
多用户情况下,如何保证其他在线用户的作业,而系统还能正常安全关机。
-
练习系统的开机、登录、注销及关机的方法,并对该过程进行观察和记录。
-
练习在Windows下利用VMware进行建立并安装Linux虚拟机系统。
-
练习安装后的虚拟系统的移植。
-
练习在Windows下的SSH终端软件登录虚拟的CentOS 7系统,并进行Windows系统与Linux系统间的文件上传及下载操作。
-
练习在Windows下,利用SSH终端软件以不同的用户身份同时登录虚拟的CentOS 7系统,再用shutdown命令,体会多用户状态下,不同终端窗口系统关机的提示及状态变化情况。
END OF CHAPTER 2
第3章 Linux操作基础
本章的学习目标
-
了解Linux操作系统与shell的关系
-
掌握简单命令、一般命令格式和一些常用命令
-
掌握shell高级操作、环境变量及系统配置
-
了解Linux下的X Window
3.1 Linux系统与Shell关系
Linux操作系统结构
-
内核:常驻内存,负责系统的核心功能。
-
系统工具:需要时调入内存,提供系统的各种工具和功能。
3.2 Shell简介
Shell简介
-
Shell:外壳,是操作系统的外部架构,为用户提供操作系统的接口。
-
功能:命令语言、命令解释程序及程序设计语言。
-
版本查看:使用命令
bash –version
查看Bash版本。 -
常用Shell:DOS的标准shell是command.com,Windows XP的是explorer.exe,Linux的缺省shell是Bash(Bourne Again shell)。
3.3 简单shell命令
-
pwd
:当前路径命令 -
date
:日期命令 -
who
:在线用户命令 -
cal
:日历命令 -
uname
:系统信息命令 -
wc
:统计命令 -
su
:用户切换命令 -
clear
:清屏命令
3.4 Shell命令的操作基础
3.4.1 shell命令的一般格式
-
一般格式:
命令名称 [选项] [参数]
-
选项:扩展命令特性或功能,用一个或多个英文字母表示,前有减号。
-
参数:大多数命令可接纳参数,参数在选项之后输入。
3.4.2 在线帮助命令
-
man 命令名
:显示命令帮助信息,包含命令名称、语法、描述、选项及示例。 -
功能键:“空格键”显示下一屏;“回车键”滚动一行;“q键”退出。
-
其他帮助命令:
命令名 --help
或info 命令名
3.4.3 与shell有关的配置文件
-
/etc/profile
:系统最重要的shell配置文件,定义系统环境变量。 -
~/.bash_profile
:每个用户的BASH环境配置文件,位于用户主目录,系统运行/etc/profile后读取。 -
~/.bashrc
:每次运行bash时读取,定义终端设置和shell提示符。 -
~/.bash_history
:记录用户使用的历史命令。
3.5 Shell命令的高级操作
3.5.1 shell的命令补全
-
含义:用户在输入命令或文件名时可使用TAB键补全,如果有多个匹配项,系统会显示所有匹配的命令或文件名。
-
操作:输入命令前几个字母,按TAB键。
3.5.2 shell的历史命令
-
含义:系统自动记录用户输入的所有命令,保存在~/.bash_history文件中。
-
操作:
history
命令查看历史命令;使用!n
执行历史命令,其中n为命令编号;向上方向键查看最近使用的命令。
3.5.3 shell的重定向
-
含义:输入输出重定向允许从文件输入命令或将输出结果存储在文件中。
-
输出重定向:
>
和>>
(重定向附加) -
输入重定向:
<
-
错误重定向输出:
2>
将错误信息保存到文件中。
3.5.4 shell的管道操作
-
含义:使用管道线
|
将多个简单命令集合在一起,完成复杂功能。 -
格式:
命令1 | 命令2 [| … 命令n]
3.6 Linux的桌面系统
3.6.1 X Window系统简介
-
X Window系统:一种以位图方式显示的软件窗口系统,提供操作系统图形用户界面的工具和协议。
3.6.2 Linux的桌面环境
-
GNOME
-
KDE
-
切换桌面环境:使用命令
switchdesk GNOME
或switchdesk KDE
3.6.3 GNOME桌面环境简介
-
组件:面板、桌面图标、任务条、工作区切换器。
-
菜单系统:应用程序、位置、系统快捷控制器菜单。
3.6.4 GNOME桌面的中英文版切换
-
语言选择:安装时选择语言类型,安装后可重新设置语言。
-
注意事项:需选择相关语言字库包。
3.6.5 GNOME桌面下的软件安装
-
方式一:通过“应用程序”菜单下的“系统工具”选择“软件”安装。
-
方式二:通过系统安装光盘选择安装程序软件。
3.8 思考与实践
-
怎样查询文本文件内的特定文字?又怎样查询系统内特定文件?
-
shell有哪些高级操作?
-
对一个命令不熟悉,有哪些方法可以获得辅助?
-
练习定制环境变量。
-
在CentOS 7系统桌面环境下进行如下操作:设置系统时间、更换桌面背景、工作区切换、目录的切换、文件的查看等操作,比较该系统和Windows系统的基本操作区别。
-
在CentOS 7系统下,分别在远程SSH终端、以及本地桌面环境下多用户方式登录(登录的用户分为普通用户及root用户),再在不同终端关闭系统进行观察,此时多用户在线状态下普通用户及root用户系统关机的提示及状态变化情况。
-
在CentOS 7系统的桌面环境下,进行系统的语言格式由中文版转换成英文版的重新设置操作。设置成功后观察设置前后的远程终端的输出变化,即把原来终端的中文输出转换成英文输出的格式。
-
在CentOS 7系统的桌面环境下,安装MySQL软件包。
END OF CHAPTER 3
第4章 Linux文件系统
本章的学习目标
-
了解基本术语的含义
-
掌握目录和文件的操作
-
掌握文件权限的设置
4.1 Linux系统文件及其类型
4.1.1 文件的含义
“文件系统”有以下几种含义:
-
指一种特定的文件格式,例如Linux的文件系统是ext3,Windows XP的文件系统是NTFS。
-
指按特定格式进行“格式化”的一块存储介质。
-
指操作系统中用来管理文件系统及对文件进行操作的机制及其实现。
4.1.2 文件的成分
-
索引节点(inode):每个Linux分区中对文件使用的标识符,每个文件有一个inode。
-
数据
4.1.3 文件命名规则
-
同类文件应使用同样的后缀或扩展名。
-
区分文件名的大小写。
-
以圆点“.”开头的文件名是隐含文件。
4.1.4 Linux系统的目录结构
Linux文件系统使用单一的根目录结构,所有分区都挂载到单一的“/”目录上。常用目录包括:
-
/bin
-
/dev
-
/home
-
/lib
-
/mnt
-
/proc
-
/usr
-
/var
4.1.5 文件类型
-
普通文件(-):文本文件、数据文件、可执行的二进制程序
-
目录文件(d):目录下都有“.”(本身)和“..”(父目录)
-
设备文件:字符设备(c)、块设备(b)
-
链接文件(l):多个名字指向同一个文件
4.2 文件操作命令
4.2.1 文件导航命令
-
ls
:列清单
-
ls -a
:显示所有文件,包含隐藏文件 -
ls -l
:长格式显示文件详细信息 -
ls -m
:逗号分隔紧凑显示 -
ls -R
:递归显示 -
ls -i
:显示索引节点号
-
-
cd
:改变当前工作目