Linux环境C_程序设计.ppt_第1页
Linux环境C_程序设计.ppt_第2页
Linux环境C_程序设计.ppt_第3页
Linux环境C_程序设计.ppt_第4页
Linux环境C_程序设计.ppt_第5页
已阅读5页,还剩607页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章UNIX完整操作系统Linux系统概述和安装。该产品功能强大、稳定,用户可以免费使用,分析源代码。Linux系统支持大多数常用硬件体系结构(如x86和ARM)和主流网络协议(如TCP/IP),具有良好的跨平台性能和非常广泛的应用程序范围。本章介绍Linux系统的基本概念,并说明如何安装具有X window图形操作界面的Linux系统发行版。1.1简介,计算机系统由硬件系统和软件系统组成,软件系统中最重要的是操作系统。Linux通过操作系统管理计算机内的所有硬件资源和软件资源,就像它是计算机的灵魂一样。Linux系统基于GPL协议分发,该协议是在GNU项目中创建的开源开放许可证。了解Lin

2、ux系统,以全新的方式开发和分发软件,首先要了解GNU项目和Linux系统的起源。1.1.1 GNU项目简介,GNU项目由Richard stoman (Richard Stallman)于1983年创建,最初的目标是使用所需的工具从源代码开始创建自由类UNIX操作系统。以前的软件以源代码形式发布,用户可以根据需要修改源代码,但是此后,软件供应商开始使用编译的二进制文件发布软件,以保护其商业利益,从而使软件的源代码成为“商业秘密”。1.1.2 Linux的起源,Andrew Tanenbaum编写了名为Minix的类UNIX操作系统以供教育。1991年8月,林纳斯通过网络将他新设计的操作系统内

3、核发布为Linux系统。不久,Linux系统陆续推出了多个版本,更多开发人员加入了Linux系统的开发。1.1.3 Linux当前正在开发中,Linux系统内核版本已发布到2.6版。此版本代表当前操作系统技术的最尖端,将在几周内更新一次。随着更多开发者进入Linux系统开发,基于Linux系统的软件资源也非常丰富,这些资源也可以免费使用。Linux系统进入我国的时机早了,我国工程师也对Linux系统的开发做出了巨大贡献。因此,Linux系统在我国有一定的用户基础和大量的中文资源。1.1.4免费软件和开源软件,免费软件和开源软件的概念不同,免费软件通常以二进制文件发布,用户可以免费使用,但无权修

4、改软件。开源软件不仅可以供用户使用,而且还可以增强软件,因为它以源代码形式发布软件,并遵循开放源代码协议(如GPL)。Linux系统是开源软件,因此基于Linux系统的开发必须遵循开源规则。这种开发方法的最大优点是,开发人员可以充分利用现有代码,避免重复工作。1.2 Linux内核和版本,Linux内核是操作系统的核心程序文件,它与其他程序文件组合,构成了许多版本。每个Linux版本都有独特的功能,例如专为小型电子设备操作而设计的嵌入式Linux版本,Linux台式机和Linux商用版本在计算机上最常用。1.2.1 Linux内核简介,内核是操作系统的心脏,系统的其馀部分必须依赖由系统程序(如

5、中断服务程序、调度程序、内存管理程序、网络和进程间通信)组成的内核部分提供的服务。1.2.2 Linux支持的硬件平台,Linux系统为Intel的IA64,Compaq的Alpha,Sun的Sparc/Sparc64,SGI的Mips,IBM的S396支持在各种体系结构(如)上运行的所有主要硬件平台。几乎可在任何工作站上运行,例如Intel的x86和APPLE的PowerPC。支持嵌入式系统和移动设备(如ARM)更引人注目的是,Linux内核的短、功能性,并针对特定硬件环境裁剪了功能适当的操作系统。32位指令集或64位指令集也可以高效、可靠地执行。,1.2.3常用的Linux版本,在Linu

6、x系统中有多个分发版,可以按组织、公司或人员分发。发行版通常包含Linux内核、在计算机上安装完整软件的安装工具以及适用于特定用户群的一系列GNU软件。典型的Linux分发包括:1.Fedora桌上型电脑版本2。Ubuntu台式机版本3。Red Hat服务器版本4。OpenSUSE 5。Debian,1.3系统安装,Linux系统安装是将安装介质中的系统文件复制到设备的硬盘上。安装之前必须对硬盘进行分区,并且Linux系统具有专用分区结构。在安装过程中,Linux系统执行各种程序配置,本节介绍Linux分发版的安装和配置。1.3.1安装前准备、安装Linux系统之前,您可以根据使用情况和硬件平

7、台选择Linux发行版。如果读者对Linux有丰富的知识,内核还可以编译新的Linux版本。Linux发行版导入可以直接从internet下载或通过其他方法获取Linux发行版副本,这是GPL协议的法律行为。安装之前,请详细了解此版本的系统要求以及安装设备的硬件环境。Linux系统会自动识别大多数硬件设备,并找到相应的驱动程序。但是,某些非典型设备需要额外的准备驱动程序。1.3.2系统要求和各种Linux版本的系统要求列在官方网站上的安装说明中。获得系统要求列表后,可以将其与安装设备的硬件列表进行比较。设备供应商通常提供设备的特定硬件型号列表。以下是当前广泛使用的Linux台式机版本的最低系统

8、要求:CPU:Intel Pentium兼容CPU,默认时钟频率为400MHz或更高。记忆体:256MB或以上。硬盘:至少3G可用空间。显卡:与VGA兼容或更高分辨率的显卡。其他:有鼠标、键盘、光驱等设备。1.3.3硬盘分区,硬盘是典型的存储设备,大多数计算机使用硬盘作为主要外部存储设备。为了便于管理,Linux系统可以将一个硬盘分区为多个分区,或将多个硬盘分区为一个分区。分割区有三种类型:主要分割区和扩充分割区,它们是最上层分割系统,逻辑分割区是扩充分割区底下的子结构。一个硬盘最多允许4个主分区和1个扩展分区,扩展分区以下的逻辑分区数量不受限制。以1.3.4图形方式安装Linux。图形Lin

9、ux安装程序提供多种安装语言的选择和更简单、更易于理解的安装信息。本节介绍使用Fedora 10 Live CD作为介质安装Linux系统的过程。最新的Linux系统发行格式Live CD不仅可以将计算机直接从CD引导到Linux系统,还提供图形安装程序。您可以在安装完成后升级Linux内核,以升级1.3.5最新内核并使用Linux系统的最新功能。Linux系统的每个发行版都有提供自动升级服务的软件管理员,但您也可以根据需要手动升级内核。Fedora和Red Hat enterprise edition可以使用YUM软件管理器升级内核,请在终端上输入以下命令:获取su/root用户权限,roo

10、t用户密码yum update kernel /内核升级,1.3.6安装中文支持,大多数Linux分发版支持多语言,并根据用户选择自动安装中文支持。中文支持通常包括中文字符编码、中文字体、软件的中文UI包和中文输入法。如果在Linux安装完成后未安装中文支持,则可以手动安装。中文支持安装信息可在该版本的中文社区中找到。1.4摘要,本章介绍了Linux系统的基本概念和安装方法,这是一种开放操作系统,在了解GNU项目后,可以快速开发各种软件。在学习下一章之前,读者可以根据需要安装Linux操作系统,以应用各种开发技术。,第2章Linux基本操作,Linux系统有两种操作方法。一种是使用输入设备(如

11、鼠标键盘)在图形界面X窗口中直接操作,另一种是输入文本命令在控制台中操作。各种Linux发行版的工作方式非常相似,因为它们遵循相同的原则。登录2.1,安装了图形界面的Linux系统启动后,直接进入X window,系统将提示您输入用户名和密码登录。首次登录可能需要创建新用户,该用户是不能使用直接配置系统的最终用户。如果需要登录控制台,可以直接输入用户名和密码。2 . 1 . 1 shell程序,shell是具有特殊功能的程序,是用户和Linux内核之间的接口。Linux系统有多个shell,部署中使用了很多名为bash的shell。此shell不仅可以编写简单的命令,还可以编写多个命令、条件和

12、参数以执行程序。2.1.2控制台,Linux系统是多用户多任务分时操作系统。所有要使用系统资源的用户必须首先向系统管理员申请帐户,然后以此帐户的名义进入系统。那个帐户的名称是登录名。Linux系统通常有多个控制台,进入控制台后,您可以使用shell程序操作计算机。2.1.3终端,用于访问X window中的shell程序。在GNOME桌面上打开终端,然后选择“应用程序”|“系统工具”|“终端命令”。2.2文件和目录、将数据存储在物理存储设备上的索引格式,文件和目录是数据的逻辑分区形式。在Linux系统中,文件的确切定义是不包含其他结构的数据流。Linux系统中的文件类型分为五类:常规文件、目录

13、文件、链接文件、设备文件和管道文件。2.2.1文件系统,文件系统是磁盘及其逻辑分区的目录结构,一个磁盘设备可以包含一个或多个文件系统,但是每个文件系统必须在硬盘上占据单独的分区,如图2.3所示。2.2.2文件名,Linux系统上的文件名由字母和数字组成。其中字符可以是大小写的字母字符,也可以是其他unicode编码的字符和符号。* ,?不能包含和“”文件名通配符。Linux系统中的文件名具有与其他操作系统类似的扩展名,并且是文件名中的最后一个“.”后面的内容是扩展名。例如,c语言源文件的扩展名为“.c”,头文件的扩展名为“.h 。2.2.3路径名,Linux文件系统采用一个根目录,即具有链接的

14、树目录结构。根目录可以包含子目录或文件。子目录可以包含子目录或文件。这样分层扩展,形成了如图2.4所示的倒木。2.2.4工作目录、控制台或终端始终对应于工作目录的目录。在控制台或终端中运行命令或程序、操作未指定路径的文件或子目录时,控制台或终端会自动将当前工作目录的路径添加到文件或子目录之前。例如,如果未在“ls”命令后输入特定路径名,则“ls”命令将显示工作目录中的文件和子目录名。工作目录为“.”显示为,工作目录父目录为“.”中选择所需的构件。“CD”命令用于更改工作目录。2.2.5启动目录,用户通过控制台或终端登录时,启动目录为用户的主目录。默认情况下,启动目录是用户的主目录,通常是与“/

15、home”目录中用户登录名相同的子目录。起始目录可以用“”符号表示。例如,以下命令可用于显示启动目录中的文件或主目录,而不管当前工作目录在哪里:在ls /启动目录下的所有文件名和子目录名称控制台或终端中,用用户启动目录的绝对路径替换“”符号,该符号也被视为环境变量,Linux系统会自动保留“”符号值。、2.3输入和输出、Linux系统的输入和输出功能由Linux内核提供,内核管理所有输入和输出设备。这些设备以设备文件的形式存在,保存在“/dev”目录中。在Linux系统上运行的所有应用程序都必须通过Linux内核执行输入和输出操作。本节简要介绍Linux内核的输入和输出概念。2.3.1文件描述

16、符,文件描述符是标识特定进程正在访问的文件的非小负整数。当内核打开现有文件或创建新文件时,该进程返回文件描述符,以便通过内核访问目标文件。2.3.2标准输入、标准输出和标准错误、按照惯例,每次运行新程序时,所有shell都将为其打开三个文件描述符:标准输入、标准输出和标准错误。除非进行特殊处理(如简单命令ls),否则所有三个描述符都将连接到终端。大多数shell提供了相同的描述方法,因此其中的一个或所有描述符都可以重定向到单个文件。例如,# ls file.list执行ls命令,其标准输出将重定向到名为file.list的文件。2.3.3为不缓存的输入和输出函数提供缓存机制的标准输入和输出函数

17、。使用标准输入/输出函数的优点是不必担心如何选择最佳缓存长度,它还具有处理输入行(经常发生在Linux应用程序中)的优点。例如,fgets()函数读取整个数据行,而read()函数读取指定的字节数。2.4摘要,本章介绍Linux系统的基本任务,包括如何登录Linux系统、shell的基本命令和shell界面实现形式的控制台和终端。本章还介绍了Linux文件和目录,通过这些文件和目录,您需要深入了解Linux上的文件系统,以便更好地了解下节中介绍的文件活动部分。本章最后部分简要介绍了Linux系统输入和输出概念,这是计算机编程的重要基础。在此,读者应在开发Linux程序时从多个方面掌握输入和输出技术的知识。第3章Linux GCC/G编译器和调试器,编译器是将高级计算机语言翻译为计算机能够解释和运行的子系统语言的程序,易于编写、阅读和维护。调试器是用于查找源代码中的错误并测试源代码和可执行文件的工具。GNU项目提供GCC编译器、g编译器和GDB调试器,它们是在Linux系统上使用c和c语言进行开发的重要工具。本章介绍如何安装和使用这些工具。3.1 GCC/G编译器,GCC是GNU项目的子项目,最初用于编译c语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论