湖北汽车工业学院实验报告实验一熟悉Lin

北汽车工业学院实验报告

实验一熟悉Linux环境实验

一、实验目的

1、了解Linux编程环境和编程工具。

2、掌握Linux常用命令。

3、熟悉SHELL脚本的建立及执行。

4、掌握Ubuntu下如何编辑、编译和运行一个C语言程序。

5、学会利用gcc、gdb编译、调试C程序。

二、实验内容

1、登陆Linux环境

Linux开机,选择进入系统,再点击桌面上的VMwareStation进入虚拟机,点击窗口上方菜单的虚拟机/快照/恢复系统,进入Ubuntu窗口,输入密码:,进入Ubuntu图形桌面环境。

熟悉Ubuntu图形桌面环境

输入密码进入系统后,显示Ubuntu的主界面。桌面左边的部分为启动器,类似于windows中的任务栏。图标从上至下分别是:Dash主页、主文件夹、火狐浏览器、常用应用软件、Ubuntu软件中心、系统设置、工作区切换、挂载U盘、回收站。桌面的右上角分别是:输入法、电子邮件、网络连接、系统声音、时间日期、当前用户、系统设置。

1)Dash允许您搜索应用程序、文件、音乐和视频,并显示您最近使用过的项目。如果您曾使用电子表格工作或编辑过图片,却忘了存储位置,则您定会发现Dash的此项功能非常有用。要开始使用Dash,请单击屏幕左侧顶端的Ubuntu徽标。要隐藏Dash,请按Esc。

2)主文件夹类似于windows中的“我的电脑”,打开后显示的是个人主目录,左侧是导航窗口。

3)FireFox浏览器是Ubuntu12.04自带的网络浏览器。其用法与windows下的浏览器使用无区别。

4)用户可以将自己常用的应用软件放在启动器中,比如文本编辑器、终端窗口等。方法是直接把应用程序拖至启动器,再右键点击此图标锁定至启动栏即可。

3、练习常用的Shell命令(必做)(5分)

当用户使用终端模拟窗口时,就是在和称为shell的命令解释程序进行通信。当用户在键盘上输入一条命令时,shell程序将对命令进行解释并完成相应的动作。这种动作可能是执行用户的应用程序,或者是调用一个编辑器、GNU/Linux实用程序或其他标准程序,或者是一条错误信息,告诉用户输入了错误的命令。

要求按下列步骤输入shell命令,并列出本机内相应的显示信息(如果内容太长,截取一部分显示):

目录操作(1.5分)

mkdirabc    #创建一个目录abc(可以自己起目录名)

cdabc  #将工作目录改变到abc

pwd          #显示当前目录的全路径

显示:

cd  #改变当前目录到主目录

pwd

显示:

ls    #列出当前目录的内容

显示:(取一小部分截屏)

ls-l    #输出当前目录内容的长列表,每个目录或文件占一行

显示:(取一小部分截屏)

文件管理实用程序(0.5分)

cdabc            

cp/etc/manpath.config.#将etc目录下manpath.config复制到当前目录下

ls

显示:

mvmanpath.configfile1#将manpath.config重命名为file1

ls

显示:

3)文件显示实用程序(1.5分)

catfile1

结果:

morefile1

结果:

tailfile1    

结果:

headfile1      

结果:

wcfile1#统计文件file1中的行数、单词数和字符数

结果:

rm-ifile1#请求用户确认删除file1文件(慎用!一定是删除自己创建的文件)

查看结果:

4)其他实用程序(1.5分)

date#输出系统日期和时间

结果:

cal#显示本月的日历。cal显示年的日历

结果:

clear#清除终端屏幕

history#显示你以前执行过的命令的列表

结果:

man命令#提供命令的基本用法

结果:

echoHello,Wel   gcc[option

filename]...

  其中option为gcc使用时的选项,而filename为gcc要处理的文件。

2.GCC选项

GCC的选项有很多类,这类选项控制着GCC程序的运行,以达到特定的编译目的。

全局开关用来控制在“GCC功能介绍”中的GCC的4个步骤的运行,在缺省的情况下,这4个步骤都是要执行的,但是当给定一些全局开关后,这些步骤就会在某一步停止执行,这产生中间结果,例如可能你只是需要中间生成的预处理的结果或者是汇编文件(比如你的目的是为了看某个CPU上的汇编语言怎么写)。

对于源文件是用什么语言编写的,可以通过文件名的后缀来标示,也可以用这开关。指定输入文件是什么语言编写的,language可以是如下的内容

c

b.objective-c

c.c-header

d.c++

e.cpp-output

f.assembler

g.assembler-with-cpp

把-x开关都给关掉了。

编译成把源文件目标代码,不做连接的动作。

把源文件编译成汇编代码,不做汇编和连接的动作。

只把源文件进行预处理之后的结果输出来。不做编译,汇编,连接的动作。

指明输出文件名是file。

把整个编译过程的输出信息都给打印出来。

由于gcc的工作分为好几步才完成,所以需要在过程中生成临时文件,使用-pipe就是用管道替换临时文件。

用来处理和语言相关的选项。

这个开关让GCC编译器把所有的GNU的编译器特性都给关掉,让你的程序可以和ansi标准兼容。

在编译之前,把file包含进去,相当于在所有编译的源文件最前面加入了一个#includefile语句,

同-E参数配合使用。让预处理后的结果,把注释保留,让人能够比较好读它。

用来控制连接过程的开关选项。

连接库文件开关。例如-lugl,则是把程序同libugl.a文件进行连接。

这个开关用在面向对象的C语言文件的库文件处理中。

在连接的时候不把系统相关的启动代码连接进来。

在连接的时候不把系统相关的启动文件和系统相关的库连接进来。

在一些系统上支持动态连接,这个开关则不允许动态连接。

生成可共享的被其他程序连接的目标模块。

用于定义与目录操作相关的开关。

–Ldir

搜寻库文件(*.a)的路径。

–g

把调试开关打开,让编译的目标文件有调试信息。

–Vversion

用来告诉编译器使用它的多少版本的功能,version参数用来表示版本。

6、掌握Linux下C程序编辑运行过程(必做)(1分)

Linux下编写C程序要经过以下几个步骤:

例如,点击文本编辑器,进入编辑环境,输入C源程序,保存并命名为hello.c

#includestdio.h

voidmain(void)

{

printf(“Helloworld!\n”);

}

点击终端,进入命令行。用gcc编译器对C源程序进行编译,以生成一个可执行文件。方法:

gcc-ohello.outhello.c↙

·/hello.out↙

注:命令行中-o选项表示要求编译器输出可执行文件名为hello.out文件,hello.c是源程序文件。

给出结果截屏:

7、编写一个C程序,按实验要求,编辑、编译、执行该程序并列出执行结果。(2分)

实验要求:  1.列出题目和调试通过的程序清单,关键地方给出注释。

      2.列出shell窗口编译、执行该C程序的命令。

      3.给出运行结果。(可以截图)




转载请注明:http://www.aierlanlan.com/grrz/7541.html