Linux经典教程.docx
《Linux经典教程.docx》由会员分享,可在线阅读,更多相关《Linux经典教程.docx(79页珍藏版)》请在冰豆网上搜索。
![Linux经典教程.docx](https://file1.bdocx.com/fileroot1/2023-1/27/27994f3a-eb7d-4a3a-973f-28651151fb34/27994f3a-eb7d-4a3a-973f-28651151fb341.gif)
Linux经典教程
第1章Linux概述1
1.1Linux简介2
1.1.1Linux的版本3
1.1.2选择Linux的原因7
1.1.3Linux内核发展7
1.1.4Linux系统发布方式8
1.2Linux系统的特性8
1.2.1Linux和其他系统的
区别9
1.2.2Linux系统的特性12
1.2.3FedoraCore特性14
1.3RedHatLinux的组成16
1.3.1内核16
1.3.2shell16
1.3.3文件结构17
1.3.4实用工具17
1.4思考与练习18
第2章安装Linux操作系统19
2.1安装前的准备工作20
2.1.1配置系统资源20
2.1.2磁盘分区21
2.2安装FedoraCore4.023
2.2.1安装方式23
2.2.2系统分区26
2.2.3网络配置和其他事项28
2.2.4完成安装30
2.2.5安装过程中的故障排除32
2.2.6卸载FedoraCore4.033
2.3硬盘安装FedoraCore34
2.3.1安装环境的简要说明34
2.3.2配置启动文件36
2.3.3安装FedoraCore37
2.4系统的基本操作39
2.4.1引导Linux系统39
2.4.2登录FedoraCore4.0
系统40
2.4.3关闭FedoraCore4.0
系统41
2.5思考与练习42
第3章Linux的内核44
3.1Linux系统内核简述45
3.1.1Linux内核的版本45
3.1.2什么是内核45
3.1.3内核的基本概念46
3.2重要的数据结构48
3.2.1内核结构48
3.2.2Linux内核组成49
3.2.3动态内存管理52
3.3算法简介53
3.3.1信号53
3.3.2Linux系统的中断55
3.3.3定时器中断56
3.3.4调度程序58
3.4Linux操作系统的进程60
3.4.1进程以及进程间通信
机制61
3.4.2Linux进程61
3.4.3关于Linux线程62
3.4.4会话和进程组63
3.4.5进程调度63
3.4.6进程的创建65
3.4.7管道66
3.5升级内核66
3.5.1为什么要升级内核67
3.5.2内核的配置与编译67
3.6思考与练习68
第4章Linux图形操作界面70
4.1XWindow简介71
4.1.1X系统的产生71
4.1.2X系统的特点71
4.1.3XWindow与Microsoft
Windows72
4.2XWindow系统73
4.2.1XWindow的基本组成73
4.2.2文件管理器75
4.2.3窗口管理器75
4.2.4硬件安装78
4.3GNOME82
4.3.1GNOME简介82
4.3.2GNOME环境82
4.3.3GNOME基本设置84
4.3.4文件管理器87
4.3.5个性化环境设置93
4.3.6GNOME常见问题95
4.4课堂练习4-1:
搜索文件96
4.5课堂练习4-2:
编辑文件97
4.6KDE99
4.6.1KDE简介99
4.6.2添加KDE101
4.6.3KDE桌面环境102
4.6.4KDE开发环境103
4.6.5KDE基本操作104
4.7Linux实用技巧和常见问题106
4.7.1实用技巧106
4.7.2常见问题108
4.7.3优化系统112
4.8思考与练习113
第5章Linux文件系统115
5.1文件系统工作原理116
5.1.1块分配(block
allocation)116
5.1.2扩展分配(extent
allocation)116
5.2文件系统和目录结构117
5.2.1文件系统简介117
5.2.2ext2文件系统119
5.2.3ext3文件系统123
5.2.4ReiserFS文件系统125
5.2.5文件系统的转换126
5.2.6安装和卸载文件系统127
5.2.7日志文件简介129
5.3Linux的文件系统132
5.3.1文件名和类型简介132
5.3.2文件权限简介135
5.4交换文件和交换分区136
5.4.1交换文件和交换分区136
5.4.2添加交换分区137
5.4.3添加交换文件138
5.4.4删除交换空间/文件138
5.5课堂练习5-1:
添加交换分区140
5.6加载Windows文件系统142
5.6.1常用命令简介142
5.6.2加载NTFS文件系统
分区143
5.6.3加载FAT32文件系统
分区144
5.7思考与练习145
第6章管理Linux操作系统147
6.1用户管理148
6.1.1Linux操作系统148
6.1.2用户User149
6.1.3用户组Group152
6.1.4/etc/gshadow154
6.1.5管理用户155
6.1.6添加用户或用户组157
6.1.7修改用户或用户组160
6.1.8在GNOME桌面环境
设置用户161
6.1.9控制系统超级权限163
6.2系统信息166
6.2.1系统进程166
6.2.2查看内存和磁盘用量167
6.2.3查看硬件信息168
6.3软件包管理170
6.3.1软件包管理器170
6.3.2RPM简介171
6.3.3RPM命令简介171
6.4课堂练习6-1:
在Linux中
使用RPM175
6.5备份与恢复176
6.5.1备份文件176
6.5.2备份的相关命令177
6.6制作Linux启动盘180
6.6.1启动盘的类型180
6.6.2启动盘的制作180
6.7配置打印机185
6.7.1添加打印机185
6.7.2设置打印共享186
6.7.3命令行配置打印机187
6.8思考与练习188
第7章常用Linux命令190
7.1Linux命令基础191
7.1.1文件名与路径191
7.1.2Linux命令格式191
7.1.3系统帮助192
7.1.4进入与退出Linux系统193
7.2常用Linux命令195
7.2.1Linux与DOS命令195
7.2.2目录操作命令196
7.2.3文件操作命令199
7.2.4文件备份和压缩命令203
7.2.5关机和系统管理命令205
7.2.6用户管理命令207
7.2.7文件阅读的命令212
7.2.8打印文件命令214
7.2.9磁盘管理命令216
7.2.10其他命令介绍217
7.2.11Linux命令使用技巧222
7.3课堂练习7-1:
创建文件夹224
7.4思考与练习225
第8章shell编程基础227
8.1shell简介228
8.1.1shell的背景228
8.1.2shell的功能231
8.2shell基本语法234
8.2.1shell定义的环境变量234
8.2.2用户定义的变量234
8.2.3内部变量237
8.2.4参数置换的变量237
8.2.5位置参数238
8.3shell程序基础238
8.3.1变量表达式238
8.3.2shell中的符号239
8.3.3bash介绍242
8.4循环语句245
8.4.1for语句245
8.4.2while语句246
8.4.3until语句247
8.4.4select语句248
8.4.5shift语句248
8.5条件语句249
8.5.1if语句249
8.5.2case语句251
8.6其他语句简介252
8.6.1break与contiune252
8.6.2exit语句252
8.7函数252
8.7.1定义和使用函数253
8.7.2向函数传递参数254
8.7.3从调用函数中返回254
8.8进程255
8.8.1进程管理及作业控制255
8.8.2启动进程257
8.8.3查看进程264
8.8.4进程调度265
8.8.5调整优先级267
8.8.6信号机制270
8.9思考与练习272
第9章Linux网络基础274
9.1计算机网络275
9.1.1什么是计算机网络275
9.1.2物理拓扑结构275
9.2计算机网络系统277
9.2.1网络软件277
9.2.2网络通信介质278
9.2.3网络传输设备280
9.3TCP/IP协议283
9.3.1TCP/IP基础283
9.3.2IP地址简介284
9.3.3建立Internet连接289
9.4其他网络协议291
9.4.1IPX/SPX协议291
9.4.2NetBIOS和NetBEUI
协议291
9.4.3FTP协议292
9.4.4PPP协议293
9.4.5HTTP协议295
9.4.6DHCP协议297
9.5网络管理298
9.5.1网络管理的功能298
9.5.2常用命令299
9.5.3netstat命令304
9.5.4TCP/IP配置文件介绍306
9.6Linux常用浏览器308
9.6.1Linux浏览器简介309
9.6.2Gnome下的浏览器313
9.7课堂练习9-1:
建立ADSL
连接313
9.8思考与练习315
第10章Linux网络服务器317
10.1网络文件系统318
10.1.1NFS的特点318
10.1.2NFS的工作原理和服务
进程的作用319
10.1.3挂载NFS文件系统320
10.1.4网络信息服务(NIS)322
10.2FTP服务器WU-FTPD323
10.2.1WU-FTPD的安装和
组成323
10.2.2WU-FTPD的配置324
10.2.3wu-ftp相关命令的
使用330
10.2.4ftp命令行的客户程序331
10.3Samba软件335
10.3.1安装Samba软件335
10.3.2配置Samba336
10.3.3连接Samba共享343
10.3.4Samba配置参数介绍344
10.4Web服务器配置346
10.4.1WWW简介346
10.4.2安装Apache347
10.4.3设置Apache服务器349
10.5课堂练习10-1:
增加用户
验证功能352
10.6配置DNS服务器353
10.6.1DNS服务器的基本
概念354
10.6.2建立域名服务器355
10.7思考与练习359
第11章Linux网络安全362
11.1基本安全知识363
11.1.1计算机安全定义363
11.1.2计算机不安全因素363
11.2计算机病毒364
11.2.1认识计算机病毒364
11.2.2病毒的传播途径365
11.2.3病毒的预防365
11.3人为性破坏366
11.3.1DoS攻击366
11.3.2网络黑客366
11.4Linux系统的安全措施367
11.4.1基本安全设置368
11.4.2高级安全措施368
11.4.3Linux系统的安全机制373
11.4.4网络系统受到的攻击和
防范374
11.5网络安全377
11.5.1认识防火墙377
11.5.2配置Linux防火墙378
11.5.3OpenSSH379
11.6思考与练习383
第12章Linux应用软件385
12.1OpenOffice.org2.0概述386
12.1.1OpenOffice简史386
12.1.2OpenOffice组件的
说明386
12.2OpenOfficeorgWriter387
12.2.1OpenOffice.orgWriter
工作界面388
12.2.2Writer入门操作388
12.2.3Writer快捷键和
基本设置390
12.3课堂练习12-1:
使用Writer
编辑通知392
12.4OpenOffice.orgCalc393
12.4.1Calc简介和功能394
12.4.2Calc快速入门394
12.5课堂练习12-2:
制作用品
采购表396
12.6OpenOffice.orgImpress398
12.6.1启动Impress398
12.6.2Impress快速入门399
12.6.3OpenOffice.orgDraw400
12.6.4Linux办公组件间的
数据调用400
12.7常用应用软件简介402
12.7.1GIMP简介402
12.7.2图像浏览器404
12.7.3多媒体播放软件405
12.7.4电子邮件406
12.7.5文本编辑器408
12.7.6其他软件409
12.8课堂练习12-3:
使用GIMP制作
水晶按钮410
12.9安装应用软件412
12.9.1常见软件安装方式412
12.9.2安装软件414
12.10思考与练习417
第13章语言简介418
13.1Linux下的C++419
13.1.1C语言编译器GCC419
13.1.2GCC选项420
13.1.3其他C编程工具422
13.1.4使用GCC编程424
13.2程序维护工具make426
13.2.1make简介427
13.2.2GNUmake工具429
13.2.3make命令431
13.3Linux下的Java432
13.3.1在Linux系统
安装Java433
13.3.2Java的应用领域434
13.3.3Java编程案例435
13.4Linux下的PHP439
13.4.1PHP的编辑工具439
13.4.2PHP的流程控制440
13.5思考与练习442
习题答案444
第1章Linux概述
在一台完整的计算机中,操作系统是不可缺少的用户接口,通过使用它可以使我们与计算机交流,因此被称为计算机的灵魂。
随着计算机技术的快速发展,操作系统也日趋成熟起来,例如Windows操作系统、UNIX操作系统等。
本书向大家介绍一款比较流行的操作系统——Linux操作系统。
Linux是一种优秀的操作系统,支持多用户、多线程、多进程、实时性好、功能强大而稳定。
同时,它又具有良好的兼容性和可移植性,被广泛应用在各种计算机平台上。
本章主要向用户介绍Linux的功能、特性以及其历史背景等知识。
本章学习目标:
Ø了解Linux和UNIX操作系统的历史
Ø了解Linux操作系统的特点和优点
Ø了解Linux操作系统的发布版本
Ø掌握Linux系统的学习方法
Ø掌握FedoraCore的特性
Ø了解FedoraCore的发展
Ø掌握Linux操作系统的组成
1.1Linux简介
Linux是由LinusBenedictTorvalds等众多软件高手共同开发的,是一种能运行于多种平台(如PC及其兼容机、Alpha工作站、SUNSparc工作站)、源代码公开、免费、功能强大、遵守POSIX标准、与UNIX兼容的操作系统。
1.1.1Linux的版本
1.1.2选择Linux的原因
1.1.3Linux内核发展
1.1.4Linux系统发布方式
1.2Linux系统的特性
Linux与传统的计算机操作系统有着本身无与伦比的优点,正是由于这些优点才导致它的迅速发展,并被更多的人或集团所接受。
本节将对Linux系统和其他操作系统进行比较,并对Linux操作系统的特点和FedoraCore操作系统的特性进行介绍。
通过本节的学习可以让用户基本了解Linux操作系统。
1.2.1Linux和其他系统的区别
Linux与Windows2003的比较
1.2.2Linux系统的特性
1.2.3FedoraCore特性
1.3RedHatLinux的组成
Linux操作系统主要分为4部分:
内核(kernel)、shell、文件结构和实用工具。
其中,内核是整个系统的内核部位;shell是用户与计算机交流的接口;本节将向用户介绍RedHatLinux系统的组成部分,以便后面章节的学习。
1.3.1内核
1.3.2shell
1.3.3文件结构
1.3.4实用工具
1.4思考与练习
第2章安装Linux操作系统
在第1章中,介绍了Linux操作系统的多种版本知识。
本书将以FedoraCore4.0为例,向大家介绍Linux操作系统的操作方法。
FedoraCore4.0的优点就在于它比其他Linux版本安装方便。
它的安装程序可以自动检测到计算机的多种配置,并进行相应的处理,节省了用户很多时间。
本章介绍FedoraCore4.0系统的安装步骤,主要针对初次接触FedoraCore系统的用户。
另外,为了不让初学者感觉到FedoraCore系统操作复杂、难理解的缺点,本章尽量详细介绍FedoraCore系统的详细安装步骤,使用户按照步骤操作结束后,就可以完成FedoraCore系统安装并登录使用。
对于一些繁琐的如LILO、XWindow系统以及网络等方面的配置,将在后边的章节中做详尽介绍。
本章学习目标:
Ø明确安装系统前的准备工作
Ø了解FedoraCore系统对软/硬件的要求
Ø正确地选择安装方式
Ø理解FedoraCore系统的磁盘分区
Ø熟悉安装向导的界面操作
Ø了解Linux系统的引导程序
Ø掌握FedoraCore系统的简单操作
2.1安装前的准备工作
FedoraCore4.0对计算机硬件的要求不太高,现在市场上的硬件都可以达到FedoraCore4.0系统的硬件要求。
如果要把计算机设置成服务器,为其他用户提供服务,就需要比较高的硬件配置。
当然,为了在使用时得到更快的速度和更高的稳定性,CPU的性能和内存的容量都应做相应提高。
2.1.1配置系统资源
2.1.2磁盘分区
硬盘分区示意图
2.2安装FedoraCore4.0
与其他操作系统相比较,FedoraCore4.0系统不是特别难以安装。
对于硬件驱动程序的安装,FedoraCore4.0可以自动检测到硬件的型号并安装相应的驱动程序,当然并不是100%的硬件都可以自动安装驱动。
不过随着FedoraCore4.0的发展,很多硬件生产厂商开始关注这个发展飞快的市场。
如果有硬件没有被系统识别,可以借助于互联网来解决。
2.2.1安装方式
设置BIOS启动顺序
2.2.2系统分区
2.2.3网络配置和其他事项
2.2.4完成安装
2.2.5安装过程中的故障排除
2.2.6卸载FedoraCore4.0
2.3硬盘安装FedoraCore
为了让用户了解更多的FedoraCore安装技巧,也为了解决一些用户没有安装光盘的问题,在本节将使用保存在硬盘上的Linux安装盘ISO镜像文件作为安装源。
这也是很多下载了镜像文件却无法刻录的用户需要掌握的方法。
2.3.1安装环境的简要说明
2.3.2配置启动文件
menul.lst内容
2.3.3安装FedoraCore
2.4系统的基本操作
像初次学习Windows操作系统一样,在本节中,讲到了关于FedoraCore4.0操作系统的引导方式、启动程序和启动顺序,并对第一次安装好的FedoraCore4.0系统登录设置进行介绍,还有FedoraCore4.0系统的基本操作,如启动、注销、关机等内容。
2.4.1引导Linux系统
Linux系统载入
2.4.2登录FedoraCore4.0系统
2.4.3关闭FedoraCore4.0系统
2.5思考与练习
分区清单
分区
文件系统格式
容量
分区
文件系统格式
容量
/
ext3
10GB
/data
ext3
20GB
/boot
ext3
200MB
/bat
ext3
20GB
swap
300MB
第3章Linux的内核
内核是Linux的心脏,是在系统引导时所装入的程序,用来提供用户程序和硬件之间的接口,执行发生在多任务系统中的实际任务转换,处理读写磁盘的需求,处理网络接口,以及管理内存等等。
一般情况下,自动安装的内核无需任何改动就可以在机器上运行,但若要为新设备添加支持程序或削减内核支持的设备列表以降低内存需求,则需要配置内核。
本章将介绍关于Linux系统内核的数据结构、算法、进程通信等方面的基础知识。
在了解Linux系统内核后,读者会对Linux操作系统有一个更深刻的了解。
本章学习目标:
Ø掌握Linux内核版本的含义
Ø了解内核的数据结构
Ø了解Linux内核的算法
Ø了解进程
Ø了解Linux内核升级的方法
3.1Linux系统内核简述
与Windows相比,Linux具有更好的安全性和扩展性,这些特性使得Linux在操作系统领域异军突起,得到越来越多的重视。
3.1.1Linux内核的版本
3.1.2什么是内核
3.1.3内核的基本概念
进程的工作原理
一个进程的运行状态图
3.2重要的数据结构
与模块相关的主要数据结构有module和symbol_table。
module用于记录模块的信息和相互调用关系。
symbol_table用于将模块动态链接到内核,主要记录两方面的信息:
模块提供的函数和变量、模块的引用信息。
3.2.1内核结构
3.2.2Linux内核组成
3.2.3动态内存管理
3.3算法简介
算法是在