Linux环境C_程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2.1 文件系统
文件系统是磁盘及其逻辑分区的目录结构,一个磁盘设备可 包含一个或多个文件系统,但每个文件系统必须占据硬盘中单独 的一个分区,如图2.3所示。
2.2.2 文件名
Linux系统的文件名由字符和数字组成,其中字符可以 是大小写英文字母或其他Unicode编码的文字和符号。但不 能包括“*”、“?”和“[ ]”文件名通配符。Linux系统的文 件名也有类似其他操作系统的扩展名,在文件名最后一个 “.”后的内容即是扩展名。例如,C语言源文件的扩展名是 以“.c”,头文件的扩展名是“.h”。
1.3.2 系统需求
各种Linux版本有不同的系统需求,具体需求可在官方 网站的安装说明内看到。得到系统需求列表后,可与安装设 备的硬件列表进行对比,通常设备供应商会提供设备上的具 体硬件型号列表。下面是当前流行的Linux桌面版本最低系 统需求: CPU:Intel Pentium兼容CPU,主时钟频率在400MHz 以上。 内存:256MB以上。 硬盘:至少3G空余空间。 显卡:VGA兼容或更高分辨率显卡。 其他:有鼠标、键盘、光驱等设备。
1.3.3 硬盘分区
硬盘是常见的存储设备,大多数计算机上都以硬盘作 为主要的外储存器。为了便于管理,Linux系统允许将一块 硬盘划分为多个分区,或者将多块硬盘划分为一个分区。分 区的类型有三种,主分区(primary-partition)和扩展分区 (extended-partition)是顶层的分区体系,逻辑分区( logical-partition)是扩展分区下的子结构。同一块硬盘上最 多允许存在4个主分区和一个扩展分区,扩展分区以下的逻 辑分区数量并无限制。
4.OpenSUSE
5.Debian
1.3 系统安装
Linux系统安装是将安装介质内的系统文件复制到设备 的硬盘上。安装前需要对硬盘进行分区,Linux系统拥有专 门的分区结构。安装过程中Linux系统还会进行各种程序的 配置,本节将讲解Linux发行版的安装与配置。
1.3.1 安装前准备
安装Linux系统前,首先可根据用途和硬件平台选择一 个Linux发布版本,若读者具备丰富的Linux知识亦可从内核 开始编译一个全新的Linux版本。获得Linux发布版本可在因 特网上直接下载,也可通过其他途径获得Linux发布版的拷 贝,这是GPL协议中的合法行为。安装前需详细了解该版本 对系统的需求,以及安装设备的硬件环境。Linux系统可自 动识别大多数硬件设备,并为其找到合适的驱动程序,但难 免有些不常见的设备需要额外准备驱动程序。
第1章 Linux系统概述和安装
Linux系统是一种类UNIX完整的操作系统。它不仅功 能强大、运行稳定,而且用户可免费使用,分析其源代码。 Linux系统支持x86、ARM等大多数常见硬件架构和TCP/IP 等主流网络协议,有良好的跨平台性能,应用面极其广阔。 本章将介绍Linux系统的基本概念,并演示如何安装一套带 有X window图形操作界面的Linux系统发布版。
1.3.6 安装中文支持
大多数的Linux发行版都提供了多语言支持,并根据用 户选择自动安装中文支持。中文支持通常包括中文字符编码 、中文字库、软件的中文UI包和中文输入法。如果Linux安 装完成后没有安装中文支持,可手动安装。中文支持的安装 信息可查阅该发行版的中文社区。
1.4 小结
本章介绍了Linux系统的基本概念和安装方法,Linux 系统是一个开放的操作系统,理解了GNU项目后可快捷的 开发各种软件。在学习后面的章节前,读者可根据自身需要 安装一套Linux操作系统,以便实践各种开发技能。
2.2.3 路径名
Linux文件系统采用带链接的树形目录结构,即只有一个根 目录。根目录可含有下级子目录或文件;子目录中又可含有更下 级的子目录或者文件。这样一层一层地延伸下去,构成一棵倒置 的树,如图2.4所示。
2.2.4 工作目录
控制台或终端在某个时刻总是对应着一个目录,该目 录即工作目录。在控制台或终端执行命令或程序,对某个没 有指定路径的文件或子目录进行操作,控制台或终端会自动 在文件或子目录前加入当前工作目录的路径。例如,执行 “ls”命令会将工作目录下的文件和子目录名称显示出来, 除非在“ls”命令后输入某一具体的路径名称。工作目录可 用“.”表示,工作目录上层父目录用“..”表示。“cd”命令 用于改变工作目录。
2.2.5 起始目录
用户通过控制台或终端登录时,起始目录为用户的主 目录。默认情况下,起始目录是用户主目录,通常是 “/home”目录中与用户的登录名相同的一个子目录。起始目 录可用“~”符号表示。例如,无论当前工作目录为何处,下 列命令都能用于显示起始目录下的文件或主目录: ls ~ // 显示起始目录下所有的文件名与子目录名 控制台或终端会将“~”符号替换成用户起始目录的绝 对路径,该符号也被认为是环境变量,Linux系统会自动维 护“~”符号的值。
1.1.3 Linux发展现状
如今,Linux系统内核版本已发布到2.6版,它代表着当 前操作系统技术的最前沿,并依然保持数周内一次的版本更 新。更多的开发者进入到Linux系统开发的行列中,因此基 于Linux系统的软件资源也十分丰富,而且这些资源同样能 免费使用。 Linux系统进入我国的时间较早,我国的工程师对 Linux系统的发展也做出了巨大贡献。所以,Linux系统在我 国拥有一定的用户基础和大量中文资源。
第2章 Linux基本操作
Linux系统有两种操作方法,一种是使用鼠标键盘等输 入设备直接在图形界面X window上操作,另一种是通过输 入文本命令方式在控制台上操作。各种Linux发行版的操作 遵循同样的原则,所以操作方法非常相似。
2.1 登录
安装有图形界面的Linux系统启动后会直接进入到X window中,并提示输入用户名和密码登录。第一次登入可 能需用创建一个新用户,该用户只是一个普通用户,不能直 接进行系统配置。有些时候需要在控制台上登录,则直接输 入用户名和密码即可。
1.1.2 Linux起源
安德鲁· 塔能鲍姆(Andrew Tanenbaum)出于教学目的编写了名为 Minix的类UNIX操作系统。1991年8月,林纳斯将自己新设计的操作系统 内核通过网络发布,命名为Linux系统。不久之后,Linux系统陆续推出 了多个版本,并且吸引了更多开发者加入Linux系统开发的行列。
1.2 Linux内核与版本
Linux内核是该操作系统的核心程序文件,通过与其他 程序文件组合,Linux又构成了许多版本。每种Linux版本都 有其特点,例如嵌入式Linux版本专门用于较小的电子设备 操作,而我们的计算机中常用的是Linux桌面版和Linux企业 版。
1.2.1 Linux内核介绍
1.1.1 GNU项目简介
GNU项目在1983年由理查德· 斯托曼(Richard Stallman)所创立, 最初的目标是通过使用必要的工具从源代码开始创建一个自由的类UNIX 操作系统。此前的软件均以源代码的形式发布,用户可以根据自己需要 修改源代码,但自从那时起,软件厂商为了保护自己的商业利益,开始 使用编译所得的二进制文件发布软件,从而使软件的源代码变为“商业 秘密”。
2.1.3 终端
终端是X window里访问shell程序的接口。在GNOME 桌面上打开终端的方式为,选择“应用程序”|“系统工具 ”|“终端”命令。
2.2 文件和目录
文件系统是在物理存储设备中存放数据的索引格式, 文件和目录是数据的逻辑划分形式。在Linux系统中,文件 的准确定义是不包含任何其他结构的数据流。Linux系统的 文件类型概况起来可分为五种,分别是:普通文件、目录文 件、链接文件、设备文件和管道文件。
内核是操作系统的心脏,系统其他部分必须依靠内核这部分 软件提供的服务,内核由中断服务程序、调度程序、内存管理程 序、网络和进程间通信等系统程序共同组成。
1.2.2 Linux所支持的硬件平台
Linux系统支持当前所有主流硬件平台,能运行在各种 架构的服务器,如Intel的IA64、Compaq的Alpha、Sun的 Sparc/Sparc64、SGI的Mips、IBM的S396;也能运行在几 乎全部的工作站,如Intel的x86、APPLE的PowerPC。更吸 引人的是支持嵌入式系统和移动设备,如ARM,Linux内核 短小精湛且功能全面,可根据特定硬件环境裁剪出具备适当 功能的操作系统。另外,无论是32位指令集系统还是64位指 令集系统,都能高效稳定运行。
2.1.1 shell程序
shell是一种具备特殊功能的程序,也是介于用户和 Linux内核间的一个接口。Linux系统拥有多种shell,发行版 中常用的是名为bash的shell。这种shell不但能执行简单的命 令,还能将多个命令、条件和参数编写为程序执行。
2.1.2 控制台
Linux系统是一个多用户多任务的分时操作系统,任何 一个要使用系统资源的用户都必须先向系统管理员申请一个 账号,然后以这个账号的身份进入系统,该账号的名称就是 登录名。Linux系统通常有多个控制台,进入控制台后可使 用shell程序操作计算机。
1.3.4 图形方式安装Linux
图形化Linux安装程序为用于提供了多种安装语言的选择和 更简单易懂的安装信息。本节介绍以Fedora 10 Live CD为媒介安 装Linux系统的过程。Live CD是Linux系统最新的发布形式,它不 但能直接以CD启动计算机进入到Linux系统,还提供了图形化安 装程序。
2.3 输入和输出
Linux系统的输入和输出功能由Linux内核提供,内核 管理着所有的输入与输出设备,这些设备以设备文件的形式 存在,保存在“/dev”目录中。所有运行在Linux系统上的应 用程序必须通过Linux内核进行输入与输出操作,本节简单 介绍Linux内核的输入和输出概念。
2.3.1 文件描述符
文件描述符是一个小的非负整数,内核用以标识某一 特定进程正在存访的文件。当内核打开一个现存文件或创建 一个新文件时,它会返回一个文件描述符给该进程,这样该 进程就能通过内核访问目标文件。
2.3.2 标准输入、标准输出和标准错误
1.3.5 升级最新内核
为了使用Linux系统最新的特性,可在安装完成后对 Linux内核进行升级。各个发行版的Linux系统都有软件管理 器提供自动升级服务,但也可以根据需要手动升级内核。 Fedora和Red Hat企业版可使用YUM软件管理器升级内核, 在终端输入下列命令: su // 获取根用户权限,将提示输入根用户密码 yum update kernel // 升级内核
1.1 引言
计算机系统由硬件系统和软件系统所组成,软件系统 中最为重要的是操作系统.。Linux作为操作系统管理着计算 机内所有的硬件资源和软件资源,仿佛是计算机的灵魂。 Linux系统基于GPL协议发布,该协议是GNU项目所创立开 放源代码的公共许可证。要理解Linux系统并以一种全新的 方式开发和发布软件,首先则需要了解GNU项目和Linux系 统的渊源。
1.2.3 常用Linux版本
Linux系统拥有多个发行版,它可能是由一个组织、公司或 者个人发行。通常一个发行版包括Linux内核、将整个软件安装到 计算机的安装工具、适用特定用户群的一系列GNU软件。常用的 Linux发行版本如下: 1.Fedora桌面版 2.Ubuntu桌面版 3.Red Hat服务器版
wk.baidu.com.1.4 免费软件与开源软件
免费软件与开源软件概念并不相同,免费软件通常以 二进制文件形式发布,用户虽然可以免费使用,但无权对软 件进行任何修改。开源软件是将软件以源代码形式发布,并 遵循GPL等开源协议,用户不仅能使用,而且还可对软件进 行改进。 Linux系统是开源软件,所以基于Linux系统开发必须 遵循开源规则。这种开发方式最大的优势是,开发者能最大 限度的利用现有代码,从而避免重复工作。