《UbuntuLinux操作系统(陈杰第3版)(微课版)-习题(实验题)参考答案.docx》由会员分享,可在线阅读,更多相关《UbuntuLinux操作系统(陈杰第3版)(微课版)-习题(实验题)参考答案.docx(33页珍藏版)》请在课桌文档上搜索。
1、WbuntuLinux操作系统第3版(微课版)习题(实验题)指导(参考)第1章UbUntU安装与基本使用课后实验题11 .安装UbUntU桌面版。12 .熟悉Ubuntu桌面环境的基本操作。13 .切换到LinUX文本模式,在虚拟控制台中登录,然后再切回图形用户界面。14 .打开终端窗口,练习命令行的基本操作。15 .使用Vim编辑器编辑一个文本文件,熟悉基本的编辑方法。实训1【实训题目】安装Ubuntu桌面版【实训目的】掌握UbuntuLinux操作系统的安装。【实训准备】(I)下载Ubuntu桌面版的ISO镜像文件。建议下载本教材配套的版本ubuntu-22.04.x-desktop-am
2、d64.iso(下载地址,从中下载22.04版本)。如果要用物理机安装,请刻成DVD光盘,或者制作系统安装U盘。(2)准备一台实验用计算机。推荐使用VMwareWorkstation虚拟机软件创建一台UbuntuLinUX虚拟机,配置好内存(建议4GB)和硬盘(建议60GB),还要提供Internet连接,最省事的方法是网络模式选择为NAT。【实训内容】(1)启动虚拟机(如果直接在物理计算机上安装,则先将计算机设置为从光盘启动,再将安装光盘插入光驱,重新启动),运行GNUGRUB(多操作系统启动管理器),选择“TryorInstallUbuntu,按Enter键。(2)开始加载系统文件,稍后进
3、入安装界面,在其左侧列表中选择语言类型,选择“中文(简体)(3)单击“安装UbUmU”按钮,出现键盘布局界面,选择键盘布局,选择“Chinese”。注意解决安装过程要求屏幕分辨率高的问题。(4)单击“继续”按钮,出现“更新和其他软件”界面,选择软件安装和更新的相关选项,选择“正常安装”和“安装UbUntU时下载更新”。(5)单击“继续”按钮,选择安装类型。选择“清除整个磁盘并安装UbUntu”。(6)单击“现在安装”按钮,出现“将改动写入磁盘吗”对话框,单击“继续”按钮,确认将改动写入磁盘。(7)单击“继续”按钮,出现“您在什么地方”的提示,选择所在时区,默认设置为“Shanghai”,可根据
4、需要改为国内其他城市。(8)单击“继续”按钮,输入姓名和计算机名,设置一个用户名及其密码,选择默认的登录方式”登录时需要密码二(9)单击“继续”按钮,进入正式的安装界面,安装过程中需要在线下载软件包。(IO)安装完成后,出现“安装完毕,您需要重新启动计算机以使用新安装的系统”提示对话框,单击“现在重启”按钮。如果光驱中还有光盘,则会提示移除该介质,重启计算机。(11)单击用户名会出现相应的登录界面,输入密码,单击“登录”按钮,即可登录Ubuntu系统。实训2【实训题目】熟悉Ubuntu桌面环境的基本操作【实训目的】(1)熟悉新版UbUntU的桌面环境。(2)熟悉UbUntu桌面的基本操作。【实
5、训准备】已安装好Ubuntu桌面操作系统。【实训内容】(1)了解并使用活动概览视图。(2)启动并运行图形界面应用程序的方法。(3)将应用程序添加到DaSh面板。(4)窗口操作。(5)工作区使用。实训3【实训题目】1.inux文本模式与图形用户界面的切换【实训目的】(1)熟悉虚拟控制台。(2)熟悉文本模式与图形用户界面的切换。【实训内容】(1)在图形用户界面中按组合键+(其中F(n)为F3F6,分别代表36号控制台)切换到文本控制台界面。(2)在文本控制台界面中按组合键+返回到图形用户登录界面,按组合键+返回到已登录的图形用户界面。实训4【实训题目】命令行基本操作【实训目的】(1)熟悉命令语法格
6、式。(2)熟悉命令行基本用法。【实训准备】打开终端窗口。【实训内容】(1)执行IS命令;执行带-I选项的IS命令;执行带参数的IS命令。(2)编辑修改命令行。(3)调用历史命令。(4)自动补全命令。(5)命令行续行。(6)强制中断命令运行。(7)获得联机帮助。(8)输入重定向与输出重定向。(9)管道操作。(10)命令替换。实训5【实训题目】使用vim编辑器【实训目的】(1)熟悉Vim编辑器的3种操作模式。(2)熟悉字符编辑操作。(3)掌握文件的打开和保存。【实训内容】(1)执行命令Vi进入Vim编辑器,打开一个新文件。(2)输入a、i、。中的任一字符进入插入模式。(3)字符编辑操作:移动光标、
7、字符删除与行删除、字符复制与行复制、粘贴、查找字符串。(4)撤销或重复操作。(5)按ESC键进入命令模式。(6)在命令模式下输入:切换到末行模式。(7)在末行模式下输入wq:将文件以当前文件名保存并退出Vim编辑器。第2章用户与组管理课后实验题6 .安装“用户和组”管理工具,然后使用它添加一个用户和一个组。7 .使用Ubuntu的adduser命令创建一个用户账户。8 .使用命令行工具查看用户所属组,将用户添加到组中,再将用户从组中删除。9 .利用配置文件来查看用户和组信息。实训1【实训题目】使用用户和组”管理工具【实训目的】(1)安装“用户和组”管理工具。(2)熟悉该工具的使用。【实训内容】
8、(1)安装图形用户界面系统管理工具gnome-system-toolsp(2)打开该工具。(3)添加一个用户。(4)添加一个组。实训2使用adduser命令创建用户账户【实训目的】掌握Ubuntu专用命令adduser的使用。【实训内容】(1)执行adduser命令以交互方式创建一个普通用户。(2) 了解该命令创建普通用户的语法格式。(3) 了解该命令创建管理员的语法格式。实训3【实训题目】使用命令行工具管理组账户【实训目的】掌握组账户的命令行操作。【实训步骤】(1)创建一个新的组。(2)查看用户所属组。(3)将用户添加到新建组中。(4)将用户从该新建组中删除。实训4【实训题目】熟悉用户和组配
9、置文件的使用逢训目的】掌握用户和组的配置文件的使用。【实训内容】(1)通过查看用户配置文件etcpasswd获取用户列表。可以用文本编辑器打开该配置文件后进行搜索,也可以在命令行中执行文件显示命令,并通过管道操作使用grep命令来查找。如果只需查看全部用户列表,可以考虑使用文本分析工具awk“(2)通过查看组配置文件etcgroup获取组账户列表,与查看用户列表的方法类似。第3章文件与目录管理课后实验题6 .使用文件管理器浏览、查找和操作文件和文件夹。7 .在命令行中创建一个目录,然后删除。8 .使用grep命令查找文件内容。9 .使用find命令查找文件。10 .使用IS-I命令查看文件属性
10、,并进行分析。11 .使用ChOWn命令更改文件所有者。12 .使用字符形式修改文件权限。13 .使用数字形式修改文件权限。14 .将UmaSk值改为002,请计算出目录和文件创建的默认权限。15 .设置目录继承ACL并进行测试。实训1【实训题目】文件管理器操作【实训目的】(1)熟悉文件管理器的操作界面。(2)掌握文件和文件夹的操作。【实训内容】(1)浏览文件和文件夹。(2)查找文件和文件夹。(3)添加一个文件。(4)添加一个文件夹。(5)删除以上添加的文件和文件夹。(6)熟悉文件和文件夹的右键菜单。实训2【实训题目】目录的命令行操作【实训目的】(1)熟悉目录操作命令。(2)掌握基于命令行的目
11、录操作。【实训内容】(1)创建目录。(2)删除目录。(3)改变工作目录。(4)显示目录内容。实训3【实训题目】文件的命令行操作【实训目的】(1)熟悉各类文件操作命令。(2)掌握基于命令行的文件操作。【实训内容】(1)文件内容显示(常用命令的比较)。(2)文件内容查找(重点熟悉grep命令操作)。(3)文件内容比较(Comm与diff命令)。(4)文件内容排序。(5)文件内容统计。(6)文件查找(重点熟悉find命令操作)。实训4【实训题目】文件权限的管理操作【实训目的】(1)熟悉文件访问者身份的变更。(2)掌握文件访问权限操作。【实训内容】(1)使用IS-I命令查看文件属性,并进行分析。(2)
12、使用ChOWn命令更改文件所有者。(3)使用字符形式修改文件权限。(4)使用数字形式修改文件权限。(5)通过UmaSk值计算目录和文件创建的默认权限。提示:目录和文件创建的默认权限通过UmaSk(掩码)实现。该掩码用数字表示,实际上是文件权限码的“补码创建目录的最大权限为777,减去UmaSk值002),就得到目录创建默认权限:777-002=775这表示所有者和所属组用户都拥有读写和执行权限,其他用户仅有读和执行权限。创建文件的最大权限为666,减去UmaSk值002,就得到文件创建默认权限:666-002=664这表示所有者和所属组用户都有读写权限,其他用户仅有读权限。实训5【实训题目】A
13、CL的配置操作【实训目的】(1)熟悉ACL规则。(2)掌握ACL的配置操作。【实训内容】(1)使用setfacl命令设置文件的ACLo(2)使用getfacl命令查看文件的ACLo(3)递归设置ACL。(4)设置目录继承ACL(5)设置文件继承ACL第4章磁盘存储管理课后实验题10 .使用命令行工具创建一个磁盘分区,建立文件系统,并将它挂载到某目录中。11 .使用UbUntU内置的磁盘管理器创建磁盘分区。实训1【实训题目】使用命令行工具建立和使用文件系统【实训目的】(1)熟悉建立和使用文件系统的步骤。(2)掌握基于命令行的文件系统操作。【实训内容】(1)添加一个空白硬盘用于实验。(2)熟悉fd
14、isk命令的语法.(3)通过fdisk的交互模式创建一个分区。(4)使用mkfs命令在该分区上建立ext4文件系统。(5)创建一个挂载点目录。(6)使用mount命令将该分区挂载到此目录,(7)将挂载定义添加到etcfstab文件以实现自动挂载。实训2【实训题目】使用Ubuntu内置的磁盘管理器【实训目的】(1)熟悉磁盘管理器界面。(2)掌握磁盘管理器的基本操作。【实训内容】(1)添加一个空白硬盘用于实验。(2)打开磁盘管理器软件。(3)查看磁盘信息。(4)磁盘管理操作。(5)查看分区信息。(6)磁盘分区操作。第5章软件包管理课后实验题12 .使用apt命令安装编辑器EmaCs,然后卸载。13
15、 .通过PPA源安装OraCIeJDK11。14 .使用Snap安装即时聊天软件Telegramo15 .使用源代码编译安装Python并进行测试。实训1【实训题目】使用apt命令安装软件包【实训目的】(1)熟悉apt命令的使用。(2)以安装Emacs为例熟悉apt命令的软件安装步骤。【实训内容】(1)执行SUdOaPtUPdate命令更新APT源。(2)执行sudoaptinstallemacs安装EmaCs。(3)验证EmaCS安装是否成功。(4)执行sudoaptremoveemacs卸载该软件包,但会保留该软件包的配置文档。(5)如果要同时删除配置文件,则要执行SUdOaPtPUrge
16、命令。(6)如果需要更彻底的删除,可执行sudoaptautoremove删除该软件包及其所依赖的、不再使用的软件包。实训2【实训题目】通过PPA源安装OraCIeJDK11【实训目的】16 )了解PPA源。(2)掌握使用PPA源安装软件包的方法。【实训内容】可以查看网页https:WWW.linuxuprisinR.com201906new-oracle-iava-11installer-for-ubuntu.html来获取相关的安装指导。注意OracleJava11不再能直接从Oracle官网上下载,必须先登录官网并手动下载Java包,并替换varcacheOradejdkll-insta
17、ller-local目录中的文件。(1)执行sudoadd-apt-repositoryppadinuuprisingjava命令添加PPA安装源。(2)将下载好的jdk-11的.tar.gz包(实验过程中确定具体版本)兔制到varcacheoracle-jdkll-installer-local目录。(3)执行sudoaptinstalloracle-javall-installer-local命令安装Java11。(4)安装完毕设置JaVall环境变量.PPA库提供一个软件包用于设置环境变量,可以执行SUdoaptinstalloracle-javall-set-default-local
18、命令来安装它。如果要卸载OracleJava11,执行sudoaptremoveoracle-javall-set-default-local命令删除相应的安装脚本。(5)删除相应的PPA源:$sudoadd-apt-repository-rppa:linuxuprising/java实训3【实训题目】使用SnaP安装软件包【实训目的】(1)熟悉Sn叩软件包安装命令。(2)以安装Telegram为例掌握Sn叩包的安装步骤。【实训步骤】(1)搜索Telegram的Snap包,查到的可用的包是telegram-desktop.(2)查看该SnaP包的详细信息。(3)安装该SnaP包。(4)运行所安
19、装的Telegram软件。(5)卸载该软件包。实训4【实训题目】使用源代码编译安装软件包【实训目的】(1)熟悉源代码编译安装的操作步骤。(2)以安装最新版本的Python为例学习源代码安装操作。【实训内容】(1)安装GCC编译环境和Python依赖软件包。sudoaptinstall-ywgetbuild-essentiallibreadline-devIibncursesw5-devlibssl-devIibsqlite3-devtk-devlibgdbm-devIibc6-devIibbz2-devlibffi-devzliblg-dev(2)从PythOn官网(https:WWW.pyt
20、hon.org/)下载新版本的源代码。(3)对下载的软件包解压缩。(4)将当前目录切换到该软件包解压目录,查看其中的READMErst文件,了解安装注意事项。(5)执行configure脚本生成编译配置文件Makefileo(6)执行make命令,完成源代码编译。(7)运行makeinstall命令完成安装。(8)查看Python的当前版本进行验证。第6章系统高级管理课后实验题15 .执行PS命令查看当前进程。16 .熟悉单元管理与单元文件管理的Systemctl命令操作。17 .请查阅资料,整理出与传统电源管理命令对应的SyStemCtl电源管理命令。18 .熟悉SyStemd日志条目查看命
21、令。19 .动态修改GRUB引导参数进入UbUntU救援模式。实训1【实训题目】查看进程【实训目的】(1)熟悉LinUX进程的主要参数。(2)掌握PS命令和top命令的使用。【实训内容】(1)使用PS命令监控后台进程的工作情况,尝试aux选项组合的使用。(2) PS命令结合管道操作符和IeSS(more)命令查看进程。(3)使用top命令动态显示系统进程信息。实训2【实训题目】systemd单元管理与单元文件管理操作【实训目的】(1)熟悉单元管理与单元文件背景知识。(2)掌握使用Systemctl命令管理单元和单元文件的方法。(1)使用systemctllist-units命令查看单元。(2)
22、使用systemctlstatus命令查看单元状态。(3)使用SyStemCtIStart等命令转换特定单元的状态。(4)使用systemctllist-dependencies命令查看单元的依赖关系。(5)使用systemctllist-unit-files命令查看单元文件。(6)使用systemctlstatus命令查看单元文件的状态。(7)使用SyStemCtlenabIe等命令实现单元文件状态转换。实训I3【实训题目】整理systemctl电源管理命令参考答案:功能传统命令systcmd命令关机(停止系统)hailsystemctlhalt关机(关闭系统电源)oweroffsystem
23、ctlpowerof重启系统rebootsystemctlrebt挂起(暂停系统)pm-sspcndsystemctlsuspend休眠系统(快照)pm-hibcmatcsystemctlhibernate暂停并休眠系统pm-suspend-hybridsystemctlhybrid-sleep实训4【实训题目】Systemd日志管理【实训目的】(1)熟悉SyStemdH志背景知识。(2)掌握SyStemdH志的查看命令。【实训内容】(1)按条目数查看日志。(2)按类别查看日志。(3)按时间范围查看日志。(4)指定日志显示格式。(5)查询某单元(服务)日志。(6)组合查询日志。实训5【实训题目
24、】动态修改GRUB引导参数【实训目的】(1)熟悉GRUB配置及其配置。(2)掌握在系统启动过程中修改内核参数的方法。【实训内容】(1)Ubuntu系统默启动时按Shift键进入GRUB界面。(2)按e键进入GRUB编辑模式。进入GRUB编辑模式之后,可以通过临时修改内核参数进入特殊模式,这对于系统启动排除故障很有帮助。(3)以救援模式为例。按I键找到以Iinux开头的那一行,将行尾的字符串“$vt_handoff”替换为wsystemd.unit=rescue.target,(4)完成修改后,按CtH+x快捷键或F10键启动系统,进入指定的模式,按Enter键进入救援模式。(5)根据需要执行故
25、障排除命令,最后执行SyStemCtlrebOot命令来重启系统。第7章Ubuntu桌面应用课后实验题1 .使用和配置FirefoX浏览器,熟悉其特性。2 .从网上获取一个种子文件(.torrent),使用TranSmiSSiOn下载相应的文件。3 .安装Wine环境并了解其基本用法,然后通过Wine安装腾讯的WindOWS版本的QQ软件,并进行试用。试用完毕,卸载QQ软件。4 .安装图形图像工具GlMP、InkSCaPe和Dia,然后试用其主要功能。5 .安装三维图形图像软件Blender,了解其主要功能,然后进行试用。7 .使用LibreOffice套件的文本处理、电子表格处理、演示文稿制
26、作、绘图、公式编辑等功能。8 .安装LibreoffiCeBase,试用其桌面数据库管理功能。9 .安装WPSoffice,并进行试用。实训1【实训题目】FireFox浏览器操作【实训目的】(1)熟悉FireFOX浏览器界面。(2)掌握FireFoX浏览器的基本操作。【实训内容】(1)在地址栏中输入正确的网址访问相关网站。(2)设置首选项。(3)设置Firefox基本选项。(4)设置Firefox标签页选项。(5) FirefOX多标签浏览。(6)管理FirefOX附加组件。实训2【实训题目】使用TranSmiSSion下载【实训目的】(1)熟悉BitTorrent客户端下载的方法。(2)掌握
27、Transmission的下载操作。【实训内容】(1)通过浏览器搜索下载种子文件(.torrent).(2)启动TranSmiSSiOn软件,浏览本地存放的种子文件。(3)选择要下载的种子,将下载任务添加到列表中。(4)执行开始任务开始下载过程。实训3【实训题目】使用Wine安装Windows应用软件【实训目的】(1) 了解Wine技术。(2)以安装QQ软件为例学习通过Wine安装Windows应用软件。【实训内容】参照7.1.4节的讲解完成本实训任务。(1)安装Wine环境。(2)使用Wine安装WindOWS版的腾讯QQ。(3)启动使用Wine安装的腾讯QQ。(4)卸载使用Wine安装的腾
28、讯QQ。实训4【实训题目】图形图像工具操作【实训目的】(6) 了解三大图形图像工具GIMP、InkSCape、Dia和Blendero(2)初步掌握图像处理、矢量图编辑和图表编辑。【实训准备】(1)执行sudoaptinstallgimp命令安装GIMP软件包。(2)执行sudoapttinstallinkscape命令安装Inkscape软件包。(3)执行sudoapt-getinstalldia命令安装Dia软件包。(4)执行sudoaptinstallblender命令安装Dia软件包。【实训内容】(1)熟悉GlMP操作界面,尝试编辑一张照片。(2)熟悉InkSCaPe操作界面,尝试创建
29、一个矢量图。(3)熟悉Dia操作界面,尝试创建一个图表。(4) 了解BIender主要功能。Blender3D是-一款专业的开源3D图形和动画软件。它具有丰富的功能集,如动画、视觉效果、3D建模和动态图形。这提供了出色的结果,并用于专业电影制作。(5)熟悉Biender操作界面,尝试创建一个电影短片。实训5【实训题目】安装并试用WPS办公软件【实训目的】(1)掌握WPS办公软件的安装方法。(2)掌握WPS办公软件的基本使用。【实训准备】【实训内容】(1)访问WPS官网,下载Deb软件包。(2)下载完毕,可以到下载目录查看该软件包的完整名称。(3)通过dpkg工具安装该软件包。(4)安装完毕,可
30、以从“应用程序”视图中选择“WPS2019”程序打开该应用程序,进行测试。(5)试用其文字处理功能。(6)试用其电子表格编辑功能。(7)试用其演示文稿制作功能。第8章Shell编程课后实验题12 .编写Shell程序,显示当前日期时间、执行路径、用户账户及其所在的目录位置。13 .编写Shell程序,判断一个文件是不是字符设备文件,并给出相应的提示信息。14 .编写ShHl程序,从键盘输入两个字符串,比较两个字符串是否相等。15 .编写SheH程序,分别用for、WhiIe和Until语句按顺序输出数字1-20。16 .编写批量创建LinUX用户的Sh的程序。17 .编写实时检测当前可用磁盘空
31、间的SheIl程序(要求使用Shell函数)。18 .使用sed命令修改etcprofile配置文件来定义环境变量。19 .使用awk命令操作etcpasswd文件,统计当前的用户账户数。实训1【实训题目】简单的ShelI编程【实训目的】(1)熟悉ShelI脚本语法。(2)掌握常用SheIl程序的编写。【实训内容】(1)显示当前日期时间、执行路径、用户账户及所在的目录位置。参考源码如下:#l/bin/bash#这是一个测试脚本echon”当前日期和时间:”dateechon,程序执行路径:$PATHecho当前登录用户名:whoamiecho-n当前目录:pwd#end(2)判断一个文件是不是
32、字符设备文件,并给出相应的提示信息。参考源码如下:#!/bin/bashfile=devsdblif-c$filethenecho”这是字符设备文件”elseecho”这不是字符设备文件”fi(3)从键盘输入两个字符串,比较两个字符串是否相等。参考源码如下:#!/bin/bashread-p”请输入两个字符串:,SIs2ifsl=s2thenecho”两个字符串相等”elseecho”两个字符串不相等”fi(4)分别用for、while与until语句按顺序输出数字120for语句参考源码:#!/bin/bashfornumin1.20doecho$numdone或者:#!/bin/bashf
33、br(num=1;num=20;num+)doecho$numdonewhile语句参考源码:#!/bin/bashnum=()while$num-Ie20doecho$numdoneuntil语句参考源码:#!/bin/bashnum=()untilSnum-gt20doecho$numdone实训2【实训题目】Shell编程批量创建Linux用户【实训目的】(1)熟悉for循环语句的用法。(2)掌握使用批处理任务的脚本编写方法。【实训内容】程序实现思路:(1)添加一个名为WOrkerS的用户组。(2)创建20个用户账户,命名为WOkerol至WOrker20,并加入到WorkerS组。(可
34、以使用Seq-W命令自动产生序号数列)(3)将每个用户的初始密码设置为其用户名。参考源码:#!/bin/bashgroupaddworkersforiinseq-w120douseradd-GworkersworkerSiechoworker$i:worker$ichpasswddone实训3【实训题目】Shell编程检测可用磁盘空间【实训目的】(1)熟悉SheIl函数的用法。(2)掌握使用函数编写模块化脚本的方法。【实训内容】程序实现思路:(1)编写一个读取当前可用磁盘空间的函数。(2)每10分钟调用一次该函数,显示可用的磁盘空间。参考源码:#!/bin/bash# 获取本机的主机名myHo
35、st=hostname# 定义获取磁盘剩余空间的函数functiongetDiskFreedisk_free=$(df-mgrep-w/awkprint$4)# 参考C语言程序定义一个主入口函数main()#脚本持续运行,每10分钟(600秒)执行一次,直至用户强制中断whiletruedogetDiskFree#获取当前时间并采用特定格式CllJtime=$(date+%Y-%m-%d%H:%M:%S)echo主机:$myHost时间:$CUjtime磁盘剩余空间:$disk_freeMBsleep600done)#执行程序主入口函数main实训4【实训题目】sed和awk命令的文本文件操作
36、【实训目的】(1)熟悉Sed命令的操作。(2)熟悉awk命令的操作。【实训内容】(1)使用sed命令修改etcprOfile配置文件来定义环境变量。 在该文件的末尾加上以下PATH环境定义语句。exportPATH=$PATH:./JAVA_HOME/lib:$JAVA_HOME/jre/lib 执行Cat命令查看文件内容进行验证。 使用Sed命令删除上述新添加的定义。sudosed-i$aexportPATH=$PATH:./JAVA_HOME/lib:$JAVA_HOME/jre/libetcprofile(2)使用awk命令操作etcpasswd文件,查看当前的全部用户名列表。 awkp
37、rint$1etcpasswdrootdaemonbinSySsyncgames(3)使用awk命令操作etcpasswd文件,统计当前的用户账户数。$awk-F:,ENDprintNR,etcpasswd52第9章C/C+编程8 .安装GCC,创建一个简单的C和C+源程序,然后分别使用gcc和g+命令进行编译。9 .使用gdb命令调试C源程序。10 .参照本章示例,使用AUtotOOIS工具生成MakefiIe文件,完成源码安装,并制作源码安装包。11 .安装GTK+、GIade和AnjKa,参照本章AnjUta基本使用的示范,使用AnjUta创建一个项目,编辑图形用户界面,编译并生成可执行
38、文件,最终生成用于发布源码的压缩包。实训1【实训题目】使用GCC编译器【实训目的】(I)熟悉编译流程。(2)初步掌握GCC编译器的使用。【实训内容】(1)执行SUdOaptinstallbuild-essential命令安装GCC编译器等软件包。(2)使用gcc命令编译C程序。示例源码:#includeintmain(void)(printf(Hello,World!n);return0;)(3)使用g+命令编译C+程序。示例源码:#includeftincludeintmain()(std:coutHelloworld!std:endl;return0;)实训2【实训题目】使用GDB调试器(
39、1)熟悉调试流程。(2)初步掌握GDB调试器的使用。【实训内容】(1)在实训1的基础上生成带有调试信息的目标代码。$gcc-Otestcgdb-gtestgcc.c(2)使用gdb命令对该目标代码进行调试。实训3【实训题目】使用Autotools生成Makefile并制作源码安装包【实训目的】(1)熟悉Autotools工具的使用。(2)初步掌握源码安装包的制作。【实训内容】(1)准备源代码。提供3个简单的源代码文件。main.c的源码如下:#include#includecommon.hintmain()hello_method();returnO;)hello.c的源码如下:#includ
40、e#includecommon.hvoidhello_method()printf(Hello,World!n);头文件CommOn.h用于定义函数,源码如下:voidhelloTIethod();将所有源文件都放在同一个目录下,并将该目录作为项目工作目录。(2)切换到项目工作目录,执行命令autoscan命令扫描工作目录生成configure.scan文件。(3)将文件COnfigUre.scan重命名为configure.ac,然后再编辑修改这个配置文件。参考代码:# -*-Autoconf-*-# Processthisfilewithautoconftoproduceaconfigur
41、escript.ACLPREREQ(2.69)ACNIT(heHo,1.0,zxp|)AC_CONFIG_SRCDIR(heIlo.c)AC.CON11G.HEADERS(config.h)AMJNIT.AUTOMAKE# Checksforprograms.AC_PROG_CC# Checksforlibraries.# Checksforheaderfiles.# Checksfortypedefs,structures,andcompilercharacteristics.# Checksforlibraryfunctions.AC_CONFIG_FILES(|Makefile)AC.O
42、UTPUT(4)在项目目录下执行aclocal命令,扫描configure.ac文件生成aclocal.m4文件。(5)在项目目录下执行autoconf命令生成ConfigUre文件。(6)在项目目录下执行autoheader命令生成config.h.in文件。(7)在项目目录下创建一个Makefile.am文件,供automake工具根据configure.in中的参数将Makefile.am转换成Makefile.in文件。Makefile.am的内容如下:AUTOMARK_OPTIONS=foreignbin_PROGRAMS=hellohello_SOURCES=main.chello
43、.ccommon.h(8)在项目目录下执行automake命令生成MakefiIeJn文件。通常要使用选项-add-missing让automake自动添加一些必需的脚本文件。(9)在项目目录下执行./congigure命令,基于MakefiIeJn生成最终的Makefile文件。(10)在项目目录下执行make命令,基于MakefiIe文件编译源代码文件并生成可执行文件。接着在该目录下运行所生成的可执行文件进行测试。(11)在项目目录下执行makeinstall命令将编译后的软件包安装到系统中。(12)如果要对外发布,可以在项目目录下执行makedist命令将程序和相关的文档打包为一个压缩文
44、档。实训4【实训题目】使用集成开发环境Anjuta开发基于GTK+的图形用户界面程序(1)熟悉集成开发环境AnjUta。(2)初步掌握基于GTK+的图形用户界面程序的开发流程。【实训内容】(1)安装相应的软件包,执行命令aptinstalllibgtk-3-dev安装GTK+3开发包。执行命令apttinstallglade安装Glade3工具。执行命令pkg-config-modversiongtk+-3.0使Glade获得GTK+3支持。执行命令aptinstallanjuta安装集成开发环境Anjuta.(2)打开AnjUtao(3)启动项目创建向导,选择要建立的应用程序(项目)的类型。选择C语言编程,从项目列表中选择“GTK+(简单)”类型。(4)设置项目的基本信息。(5)设置项目选项。(6)完成项目的创建,Anjuta建立应